/* Self-hosted Noto Serif SC, @fontsource/noto-serif-sc 5.3.1, SIL OFL 1.1.
 * One 400 face in Unicode-range slices; bold is synthesized.
 * Full license: /assets/v22/fonts/OFL-Noto-Serif-SC.txt. */
/* noto-serif-sc-[4]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-4-400-normal.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;
}

/* noto-serif-sc-[5]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-5-400-normal.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;
}

/* noto-serif-sc-[6]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-6-400-normal.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;
}

/* noto-serif-sc-[21]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-21-400-normal.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;
}

/* noto-serif-sc-[22]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-22-400-normal.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;
}

/* noto-serif-sc-[23]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-23-400-normal.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;
}

/* noto-serif-sc-[24]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-24-400-normal.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;
}

/* noto-serif-sc-[25]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-25-400-normal.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;
}

/* noto-serif-sc-[26]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-26-400-normal.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;
}

/* noto-serif-sc-[27]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-27-400-normal.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;
}

/* noto-serif-sc-[28]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-28-400-normal.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;
}

/* noto-serif-sc-[29]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-29-400-normal.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;
}

/* noto-serif-sc-[30]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-30-400-normal.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;
}

/* noto-serif-sc-[31]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-31-400-normal.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;
}

/* noto-serif-sc-[32]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-32-400-normal.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;
}

/* noto-serif-sc-[33]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-33-400-normal.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;
}

/* noto-serif-sc-[34]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-34-400-normal.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;
}

/* noto-serif-sc-[35]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-35-400-normal.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;
}

/* noto-serif-sc-[36]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-36-400-normal.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;
}

/* noto-serif-sc-[37]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-37-400-normal.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;
}

/* noto-serif-sc-[38]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-38-400-normal.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;
}

/* noto-serif-sc-[39]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-39-400-normal.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;
}

/* noto-serif-sc-[40]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-40-400-normal.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;
}

/* noto-serif-sc-[41]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-41-400-normal.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;
}

/* noto-serif-sc-[42]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-42-400-normal.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;
}

/* noto-serif-sc-[43]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-43-400-normal.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;
}

/* noto-serif-sc-[44]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-44-400-normal.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;
}

/* noto-serif-sc-[45]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-45-400-normal.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;
}

/* noto-serif-sc-[46]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-46-400-normal.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;
}

/* noto-serif-sc-[47]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-47-400-normal.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;
}

/* noto-serif-sc-[48]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-48-400-normal.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;
}

/* noto-serif-sc-[49]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-49-400-normal.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;
}

/* noto-serif-sc-[50]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-50-400-normal.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;
}

/* noto-serif-sc-[51]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-51-400-normal.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;
}

/* noto-serif-sc-[52]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-52-400-normal.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;
}

/* noto-serif-sc-[53]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-53-400-normal.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;
}

/* noto-serif-sc-[54]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-54-400-normal.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;
}

/* noto-serif-sc-[55]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-55-400-normal.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;
}

/* noto-serif-sc-[56]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-56-400-normal.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;
}

/* noto-serif-sc-[57]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-57-400-normal.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;
}

/* noto-serif-sc-[58]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-58-400-normal.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;
}

/* noto-serif-sc-[59]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-59-400-normal.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;
}

/* noto-serif-sc-[60]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-60-400-normal.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;
}

/* noto-serif-sc-[61]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-61-400-normal.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;
}

/* noto-serif-sc-[62]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-62-400-normal.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;
}

/* noto-serif-sc-[63]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-63-400-normal.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;
}

/* noto-serif-sc-[64]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-64-400-normal.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;
}

/* noto-serif-sc-[65]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-65-400-normal.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;
}

/* noto-serif-sc-[66]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-66-400-normal.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;
}

/* noto-serif-sc-[67]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-67-400-normal.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;
}

/* noto-serif-sc-[68]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-68-400-normal.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;
}

/* noto-serif-sc-[69]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-69-400-normal.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;
}

/* noto-serif-sc-[70]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-70-400-normal.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;
}

/* noto-serif-sc-[71]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-71-400-normal.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;
}

/* noto-serif-sc-[72]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-72-400-normal.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;
}

/* noto-serif-sc-[73]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-73-400-normal.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;
}

/* noto-serif-sc-[74]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-74-400-normal.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;
}

/* noto-serif-sc-[75]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-75-400-normal.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;
}

/* noto-serif-sc-[76]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-76-400-normal.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;
}

/* noto-serif-sc-[77]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-77-400-normal.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;
}

/* noto-serif-sc-[78]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-78-400-normal.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;
}

/* noto-serif-sc-[79]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-79-400-normal.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;
}

/* noto-serif-sc-[80]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-80-400-normal.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;
}

/* noto-serif-sc-[81]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-81-400-normal.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;
}

/* noto-serif-sc-[82]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-82-400-normal.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;
}

/* noto-serif-sc-[83]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-83-400-normal.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;
}

/* noto-serif-sc-[84]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-84-400-normal.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;
}

/* noto-serif-sc-[85]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-85-400-normal.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;
}

/* noto-serif-sc-[86]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-86-400-normal.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;
}

/* noto-serif-sc-[87]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-87-400-normal.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;
}

/* noto-serif-sc-[88]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-88-400-normal.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;
}

/* noto-serif-sc-[89]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-89-400-normal.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;
}

/* noto-serif-sc-[90]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-90-400-normal.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;
}

/* noto-serif-sc-[91]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-91-400-normal.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;
}

/* noto-serif-sc-[97]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-97-400-normal.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;
}

/* noto-serif-sc-[98]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-98-400-normal.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;
}

/* noto-serif-sc-[99]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-99-400-normal.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;
}

/* noto-serif-sc-[100]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-100-400-normal.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;
}

/* noto-serif-sc-[101]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-101-400-normal.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;
}

/* noto-serif-sc-[102]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-102-400-normal.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;
}

/* noto-serif-sc-[103]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-103-400-normal.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;
}

/* noto-serif-sc-[104]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-104-400-normal.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;
}

/* noto-serif-sc-[105]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-105-400-normal.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;
}

/* noto-serif-sc-[106]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-106-400-normal.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;
}

/* noto-serif-sc-[107]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-107-400-normal.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;
}

/* noto-serif-sc-[108]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-108-400-normal.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;
}

/* noto-serif-sc-[109]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-109-400-normal.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;
}

/* noto-serif-sc-[110]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-110-400-normal.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;
}

/* noto-serif-sc-[111]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-111-400-normal.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;
}

/* noto-serif-sc-[112]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-112-400-normal.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;
}

/* noto-serif-sc-[113]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-113-400-normal.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;
}

/* noto-serif-sc-[114]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-114-400-normal.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;
}

/* noto-serif-sc-[115]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-115-400-normal.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;
}

/* noto-serif-sc-[116]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-116-400-normal.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;
}

/* noto-serif-sc-[117]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-117-400-normal.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;
}

/* noto-serif-sc-[118]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-118-400-normal.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;
}

/* noto-serif-sc-[119]-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-119-400-normal.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;
}

/* noto-serif-sc-cyrillic-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-cyrillic-400-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* noto-serif-sc-vietnamese-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-vietnamese-400-normal.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;
}

/* noto-serif-sc-latin-ext-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-latin-ext-400-normal.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;
}

/* noto-serif-sc-latin-400-normal */
@font-face {
  font-family: 'Noto Serif SC';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/v22/fonts/noto-serif-sc-latin-400-normal.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;
}
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-s-1\/2{inset-inline-start:50%}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-0{bottom:calc(var(--spacing) * 0)}.-left-12{left:calc(var(--spacing) * -12)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.m-0\!{margin:calc(var(--spacing) * 0)!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-0{margin-block:calc(var(--spacing) * 0)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.h-\(--cell-size\){height:var(--cell-size)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[calc\(--spacing\(5\.5\)\)\]{height:calc(calc(var(--spacing) * 5.5))}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-max{height:max-content}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[300px\]{max-height:300px}.max-h-\[min\(calc\(--spacing\(96\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing) * 96) - calc(var(--spacing) * 9)), calc(var(--available-height) - calc(var(--spacing) * 9)))}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-full{min-height:100%}.min-h-svh{min-height:100svh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[100px\]{width:100px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--available-width\){max-width:var(--available-width)}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[80\%\]{max-width:80%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-max{max-width:max-content}.max-w-sm{max-width:var(--container-sm)}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-3\/4{--tw-translate-y:calc(calc(3 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3\/4{--tw-translate-y:calc(3 / 4 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-fade-x{--_scroll-fade-size-s:var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--_scroll-fade-size-e:var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-inline:linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%)}.scroll-fade-x:where([dir=rtl],[dir=rtl] *){--scroll-fade-inline:linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%)}.scroll-fade-x{-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}@supports (animation-timeline:scroll()){.scroll-fade-x{animation:1ms ease-in-out scroll-fade-reveal-s,1ms ease-in-out scroll-fade-reveal-e;animation-timeline:scroll(self inline),scroll(self inline);animation-range:0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.scroll-fade-x{--scroll-fade-s:var(--_scroll-fade-size-s);--scroll-fade-e:var(--_scroll-fade-size-e)}}.scroll-fade-b{--_scroll-fade-size-b:var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-mask:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%);-webkit-mask-image:var(--scroll-fade-mask);-webkit-mask-image:var(--scroll-fade-mask);-webkit-mask-image:var(--scroll-fade-mask);-webkit-mask-image:var(--scroll-fade-mask);mask-image:var(--scroll-fade-mask);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:source-in;mask-composite:intersect}@supports (animation-timeline:scroll()){.scroll-fade-b{animation:1ms ease-in-out scroll-fade-reveal-b;animation-timeline:scroll(self y);animation-range:calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.scroll-fade-b{--scroll-fade-b:var(--_scroll-fade-size-b)}}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-px-1{scroll-padding-inline:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--radius\)-5px\)\]{border-radius:calc(var(--radius) - 5px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\(--color-border\){border-color:var(--color-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-\[Canvas\]{background-color:canvas}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-clip-padding{background-clip:padding-box}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words,.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-\[CanvasText\]{color:canvastext}.text-current{color:currentColor}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[translate\,scale\,opacity\]{transition-property:translate,scale,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.contain-content{contain:content}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:--spacing\(8\)\]{--cell-size:calc(var(--spacing) * 8)}.\[contain-intrinsic-size\:auto_10rem\]{contain-intrinsic-size:auto 10rem}.\[content-visibility\:auto\]{content-visibility:auto}.paused{animation-play-state:paused}.running{animation-play-state:running}.running\!{animation-play-state:running!important}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-data-\[slot\=message-footer\]\/message\:-translate-y-8:is(:where(.group\/message):has([data-slot=message-footer]) *){--tw-translate-y:calc(var(--spacing) * -8);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-data-\[variant\=ghost\]\/message\:px-0:is(:where(.group\/message):has([data-variant=ghost]) *){padding-inline:calc(var(--spacing) * 0)}.group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5:is(:where(.group\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-has-\[\[data-slot\=item-description\]\]\/item\:self-start:is(:where(.group\/item):has([data-slot=item-description]) *){align-self:flex-start}.group-has-\[\>input\]\/input-group\:pt-2\.5:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2.5)}.group-has-\[\>input\]\/input-group\:pb-2\.5:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2.5)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-\[align\=end\]\/bubble\:self-end:is(:where(.group\/bubble)[data-align=end] *){align-self:flex-end}.group-data-\[align\=end\]\/message\:justify-end:is(:where(.group\/message)[data-align=end] *){justify-content:flex-end}.group-data-\[align\=end\]\/message\:self-end:is(:where(.group\/message)[data-align=end] *){align-self:flex-end}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/attachment\:absolute:is(:where(.group\/attachment)[data-orientation=vertical] *){position:absolute}.group-data-\[orientation\=vertical\]\/attachment\:top-3:is(:where(.group\/attachment)[data-orientation=vertical] *){top:calc(var(--spacing) * 3)}.group-data-\[orientation\=vertical\]\/attachment\:right-3:is(:where(.group\/attachment)[data-orientation=vertical] *){right:calc(var(--spacing) * 3)}.group-data-\[orientation\=vertical\]\/attachment\:w-full:is(:where(.group\/attachment)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/attachment\:gap-1:is(:where(.group\/attachment)[data-orientation=vertical] *){gap:calc(var(--spacing) * 1)}.group-data-\[orientation\=vertical\]\/attachment\:px-1:is(:where(.group\/attachment)[data-orientation=vertical] *){padding-inline:calc(var(--spacing) * 1)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=default\]\/switch\:size-4:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/attachment\:w-8:is(:where(.group\/attachment)[data-size=sm] *){width:calc(var(--spacing) * 8)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[size\=sm\]\/switch\:size-3:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=xs\]\/attachment\:w-7:is(:where(.group\/attachment)[data-size=xs] *){width:calc(var(--spacing) * 7)}.group-data-\[size\=xs\]\/attachment\:rounded-md:is(:where(.group\/attachment)[data-size=xs] *){border-radius:var(--radius-md)}.group-data-\[state\=done\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=done] *),.group-data-\[state\=idle\]\/attachment\:opacity-100:is(:where(.group\/attachment)[data-state=idle] *){opacity:1}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){--_spread:var(--shimmer-spread,calc(3ch + 40px));--_base:currentColor;--_highlight:var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2)));background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}}.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){background-repeat:no-repeat;background-size:calc(200% + var(--_spread) * 2) 100%;-webkit-text-fill-color:var(--shimmer-text-fill,transparent);animation:tw-shimmer var(--shimmer-duration,2s) linear infinite;background-position:0 0;-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme:dark){.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *){--_highlight:var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))}}.group-data-\[state\=processing\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=processing] *):where([dir=rtl],[dir=rtl] *){animation-direction:reverse}.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){--_spread:var(--shimmer-spread,calc(3ch + 40px));--_base:currentColor;--_highlight:var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2)));background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), var(--_highlight) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, var(--_highlight) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}@supports (color:color-mix(in lab, red, red)){.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){background-image:var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread))))}}.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){background-repeat:no-repeat;background-size:calc(200% + var(--_spread) * 2) 100%;-webkit-text-fill-color:var(--shimmer-text-fill,transparent);animation:tw-shimmer var(--shimmer-duration,2s) linear infinite;background-position:0 0;-webkit-background-clip:text;background-clip:text}@media (prefers-color-scheme:dark){.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *){--_highlight:var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4)))}}.group-data-\[state\=uploading\]\/attachment\:shimmer:is(:where(.group\/attachment)[data-state=uploading] *):where([dir=rtl],[dir=rtl] *){animation-direction:reverse}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.group-data-\[variant\=separator\]\/marker\:flex-none:is(:where(.group\/marker)[data-variant=separator] *){flex:none}.group-data-\[variant\=separator\]\/marker\:text-center:is(:where(.group\/marker)[data-variant=separator] *){text-align:center}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}.group-data-\[viewport\=false\]\/navigation-menu\:top-full:is(:where(.group\/navigation-menu)[data-viewport=false] *){top:100%}.group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5:is(:where(.group\/navigation-menu)[data-viewport=false] *){margin-top:calc(var(--spacing) * 1.5)}.group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden:is(:where(.group\/navigation-menu)[data-viewport=false] *){overflow:hidden}.group-data-\[viewport\=false\]\/navigation-menu\:rounded-md:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-radius:var(--radius-md)}.group-data-\[viewport\=false\]\/navigation-menu\:border:is(:where(.group\/navigation-menu)[data-viewport=false] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[viewport\=false\]\/navigation-menu\:shadow:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[viewport\=false\]\/navigation-menu\:duration-200:is(:where(.group\/navigation-menu)[data-viewport=false] *){--tw-duration:.2s;transition-duration:.2s}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.before\:mr-1:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 1)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:min-w-0:before{content:var(--tw-content);min-width:calc(var(--spacing) * 0)}.before\:flex-1:before{content:var(--tw-content);flex:1}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:ml-1:after{content:var(--tw-content);margin-left:calc(var(--spacing) * 1)}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:min-w-0:after{content:var(--tw-content);min-width:calc(var(--spacing) * 0)}.after\:flex-1:after{content:var(--tw-content);flex:1}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.first\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:mt-0:last-child{margin-top:calc(var(--spacing) * 0)}.last\:rounded-r-md:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:z-10:focus{z-index:10}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-invalid\:ring-\[3px\]:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 6)}.has-data-\[slot\=attachment-content\]\:w-30:has([data-slot=attachment-content]){width:calc(var(--spacing) * 30)}.has-data-\[slot\=attachment-content\]\:px-1\.5:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-content\]\:px-2:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 2)}.has-data-\[slot\=attachment-content\]\:px-2\.5:has([data-slot=attachment-content]){padding-inline:calc(var(--spacing) * 2.5)}.has-data-\[slot\=attachment-content\]\:py-1:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 1)}.has-data-\[slot\=attachment-content\]\:py-1\.5:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-content\]\:py-2:has([data-slot=attachment-content]){padding-block:calc(var(--spacing) * 2)}.has-data-\[slot\=attachment-media\]\:p-1:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 1)}.has-data-\[slot\=attachment-media\]\:p-1\.5:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 1.5)}.has-data-\[slot\=attachment-media\]\:p-2:has([data-slot=attachment-media]){padding:calc(var(--spacing) * 2)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=combobox-chip\]\:px-1\.5:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing) * 1.5)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing) * 0)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-\[3px\]:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[button\]\:p-0:has(:is(button)){padding:calc(var(--spacing) * 0)}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:var(--radius-md)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.has-\[\>button\]\:mr-\[-0\.45rem\]:has(>button){margin-right:-.45rem}.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button){margin-left:-.45rem}.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd){margin-right:-.35rem}.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd){margin-left:-.35rem}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing) * 4) 1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing) * 3)}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing) * 0)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2:has(>svg){padding-inline:calc(var(--spacing) * 2)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-\[orientation\=horizontal\]\:h-px[aria-orientation=horizontal]{height:1px}.aria-\[orientation\=horizontal\]\:w-full[aria-orientation=horizontal]{width:100%}.aria-\[orientation\=horizontal\]\:after\:left-0[aria-orientation=horizontal]:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.aria-\[orientation\=horizontal\]\:after\:h-1[aria-orientation=horizontal]:after{content:var(--tw-content);height:calc(var(--spacing) * 1)}.aria-\[orientation\=horizontal\]\:after\:w-full[aria-orientation=horizontal]:after{content:var(--tw-content);width:100%}.aria-\[orientation\=horizontal\]\:after\:translate-x-0[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=horizontal\]\:after\:-translate-y-1\/2[aria-orientation=horizontal]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.aria-\[orientation\=vertical\]\:flex-col[aria-orientation=vertical]{flex-direction:column}.data-empty\:p-0[data-empty]{padding:calc(var(--spacing) * 0)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}:is(.group-data-\[align\=end\]\/message\:\*\:data-slot\:self-end:is(:where(.group\/message)[data-align=end] *)>*)[data-slot]{align-self:flex-end}.data-\[active\=false\]\:pointer-events-none[data-active=false]{pointer-events:none}.data-\[active\=false\]\:scale-95[data-active=false]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\=false\]\:opacity-0[data-active=false]{opacity:0}.data-\[active\=false\]\:duration-400[data-active=false]{--tw-duration:.4s;transition-duration:.4s}.data-\[active\=false\]\:ease-\[cubic-bezier\(0\.7\,0\,0\.84\,0\)\][data-active=false]{--tw-ease:cubic-bezier(.7,0,.84,0);transition-timing-function:cubic-bezier(.7,0,.84,0)}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:translate-y-0[data-active=true]{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[active\=true\]\:scale-100[data-active=true]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:opacity-100[data-active=true]{opacity:1}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[active\=true\]\:ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\][data-active=true]{--tw-ease:cubic-bezier(.23,1,.32,1);transition-timing-function:cubic-bezier(.23,1,.32,1)}.data-\[align\=end\]\:flex-row-reverse[data-align=end]{flex-direction:row-reverse}.data-\[align\=end\]\:self-end[data-align=end]{align-self:flex-end}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[direction\=end\]\:bottom-4[data-direction=end]{bottom:calc(var(--spacing) * 4)}.data-\[direction\=end\]\:data-\[active\=false\]\:translate-y-full[data-direction=end][data-active=false]{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[direction\=start\]\:top-4[data-direction=start]{top:calc(var(--spacing) * 4)}.data-\[direction\=start\]\:data-\[active\=false\]\:-translate-y-full[data-direction=start][data-active=false]{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:var(--radius-md)}.data-\[range-end\=true\]\:rounded-r-md[data-range-end=true]{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:var(--radius-md)}.data-\[range-start\=true\]\:rounded-l-md[data-range-start=true]{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=default\]\:h-\[1\.15rem\][data-size=default]{height:1.15rem}.data-\[size\=default\]\:w-8[data-size=default]{width:calc(var(--spacing) * 8)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-3\.5[data-size=sm]{height:calc(var(--spacing) * 3.5)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:w-6[data-size=sm]{width:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:py-1[data-size=sm]{padding-block:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=attachment\]\:flex-none>*)[data-slot=attachment]{flex:none}:is(.\*\:data-\[slot\=attachment\]\:snap-start>*)[data-slot=attachment]{scroll-snap-align:start}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:data-\[slot\=bubble-content\]\:rounded-none>*)[data-slot=bubble-content]{border-radius:0}:is(.\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.93_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content]{background-color:oklch(from var(--primary) .93 calc(c * .4) h)}:is(.\*\:data-\[slot\=bubble-content\]\:bg-transparent>*)[data-slot=bubble-content]{background-color:#0000}:is(.\*\:data-\[slot\=bubble-content\]\:p-0>*)[data-slot=bubble-content]{padding:calc(var(--spacing) * 0)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing) * 1)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing) * 0)}:is(.\*\:data-\[slot\=input-group\]\:h-8>*)[data-slot=input-group]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:ring-0 *)[data-slot=navigation-menu-link]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\*\:data-\[slot\=navigation-menu-link\]\:focus\:outline-none *)[data-slot=navigation-menu-link]:focus{--tw-outline-style:none;outline-style:none}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}:is(.group-data-\[orientation\=vertical\]\/attachment\:\*\:data-\[slot\=spinner\]\:size-6\!:is(:where(.group\/attachment)[data-orientation=vertical] *)>*)[data-slot=spinner]{width:calc(var(--spacing) * 6)!important;height:calc(var(--spacing) * 6)!important}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=idle\]\:border-dashed[data-state=idle]{--tw-border-style:dashed;border-style:dashed}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-opacity:0}.group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95:is(:where(.group\/navigation-menu)[data-viewport=false] *)[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[variant\=ghost\]\:max-w-full[data-variant=ghost]{max-width:100%}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@media (width>=40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.sm\:pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.sm\:text-left{text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media (width>=48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:p-12{padding:calc(var(--spacing) * 12)}.md\:text-left{text-align:left}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@container field-group (width>=28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}.rtl\:translate-x-1\/2:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (prefers-color-scheme:dark){.dark\:bg-transparent{background-color:#0000}:is(.dark\:\*\:data-\[slot\=bubble-content\]\:bg-\[oklch\(from_var\(--primary\)_0\.3_calc\(c\*0\.4\)_h\)\]>*)[data-slot=bubble-content]{background-color:oklch(from var(--primary) .3 calc(c * .4) h)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}}@media (pointer:coarse){.pointer-coarse\:size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.pointer-coarse\:px-3{padding-inline:calc(var(--spacing) * 3)}.pointer-coarse\:py-2{padding-block:calc(var(--spacing) * 2)}.pointer-coarse\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_img\]\:size-full img{width:100%;height:100%}.\[\&_img\]\:object-cover img{object-fit:cover}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.data-\[direction\=start\]\:\[\&_svg\]\:rotate-180[data-direction=start] svg{rotate:180deg}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*=size-]),.group-data-\[orientation\=vertical\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6:is(:where(.group\/attachment)[data-orientation=vertical] *) svg:not([class*=size-]){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[size\=xs\]\/attachment\:\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5:is(:where(.group\/attachment)[data-size=xs] *) svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content]{flex:none}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-3.border-b{padding-bottom:calc(var(--spacing) * 3)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-3.border-t{padding-top:calc(var(--spacing) * 3)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[a\]\:underline:is(a){text-decoration-line:underline}.\[a\]\:underline-offset-3:is(a){text-underline-offset:3px}.\[a\]\:transition-colors:is(a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}.\[button\]\:text-left:is(button){text-align:left}.\[button\,a\]\:transition-colors:is(button,a){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[button\,a\]\:outline-none:is(button,a){--tw-outline-style:none;outline-style:none}.\[button\,a\]\:focus-visible\:ring-3:is(button,a):focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.\*\:\[img\]\:aspect-square>*):is(img){aspect-ratio:1}:is(.\*\:\[img\]\:w-full>*):is(img){width:100%}:is(.\*\:\[img\]\:object-cover>*):is(img){object-fit:cover}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\:nth-child\(2\)\[data-selected\=true\]_button\]\:rounded-l-md:nth-child(2)[data-selected=true] button{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.\[\&\>\*\]\:w-full>*{width:100%}.\[\&\>\*\]\:focus-visible\:relative>:focus-visible{position:relative}.\[\&\>\*\]\:focus-visible\:z-10>:focus-visible{z-index:10}.\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field]{padding:calc(var(--spacing) * 4)}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--muted\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklch,var(--muted),var(--foreground) 5%)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.88_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:oklch(from var(--primary) .88 calc(c * .5) h)}@media (prefers-color-scheme:dark){.dark\:\[\&\>\[data-slot\=bubble-content\]\:is\(button\,a\)\:hover\]\:bg-\[oklch\(from_var\(--primary\)_0\.35_calc\(c\*0\.5\)_h\)\]>[data-slot=bubble-content]:is(button,a):hover{background-color:oklch(from var(--primary) .35 calc(c * .5) h)}}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>input\]\:flex-1>input{flex:1}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 2)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 2)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[aria-orientation\=horizontal\]\>div\]\:rotate-90[aria-orientation=horizontal]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}@media (hover:hover){a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--ink:#123b3d;--deep:#083b42;--teal:#147a7d;--jade:#61cbb2;--paper:#fbf7e9;--gold:#e8b64f;--coral:#e8785f;--line:#11535129;--shadow:0 24px 70px #0936372b}*{box-sizing:border-box}html{background:#e6f0e8;min-width:320px}body{color:var(--ink);background:#e9f2eb;margin:0;font-family:Noto Sans SC,Microsoft YaHei,PingFang SC,"Noto Serif SC",sans-serif}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #e5ac45d9}button:disabled{cursor:not-allowed;opacity:.55}.shell{background:radial-gradient(circle at 68% 25%,#ffffffe6,#0000 31%),linear-gradient(135deg,#edf5ec,#d7e9df 55%,#c6ded7);min-height:100vh;position:relative;overflow:hidden}.shell:after{content:"";pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:absolute;inset:0}.unstyled-button{cursor:pointer;background:0 0;border:0;padding:0}.topbar,.map-topbar{z-index:40;border-bottom:1px solid #0f52501f;justify-content:space-between;align-items:center;width:min(1440px,100% - 52px);height:72px;margin:auto;display:flex;position:relative}.brand-lockup{text-align:left;white-space:nowrap;align-items:center;gap:11px;display:flex}.brand-seal{color:#fff9e8;background:#a63f35;border-radius:10px 5px;place-items:center;width:42px;height:42px;font:800 22px KaiTi,"Noto Serif SC",serif;display:grid;transform:rotate(-2deg);box-shadow:inset 0 0 0 3px #ffffff2e,0 7px 17px #63231d38}.brand-lockup strong{letter-spacing:.13em;font:800 20px/1.1 KaiTi,"Noto Serif SC",serif;display:block}.brand-lockup small{color:#5a8280;letter-spacing:.16em;margin-top:4px;font:700 8px/1 "Noto Serif SC",sans-serif;display:block}.topbar-actions{align-items:center;gap:9px;display:flex}.server-pill,.live-badge{color:#47716f;background:#ffffff8c;border:1px solid #146e6b2b;border-radius:999px;align-items:center;gap:8px;height:35px;padding:0 14px;font-size:13px;display:inline-flex}.server-pill i,.live-badge i,.sync-label i{background:#42bc8c;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-dot;box-shadow:0 0 0 5px #42bc8c1f}.ghost-button,.icon-button,.battle-back{cursor:pointer;background:#ffffff85;border:1px solid #144c4b29;border-radius:12px;justify-content:center;align-items:center;gap:7px;height:40px;transition:all .2s;display:inline-flex}.ghost-button{padding:0 15px;font-size:14px;font-weight:750}.icon-button{width:40px;padding:0}.ghost-button:hover,.icon-button:hover,.battle-back:hover{background:#fff;transform:translateY(-1px)}.primary-button,.secondary-button,.danger-button{cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:0 20px;font-size:15px;font-weight:800;transition:all .22s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#16858a,#0f686c);border:1px solid #0d6f71;box-shadow:0 9px 24px #0e65683d,inset 0 1px #ffffff40}.primary-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 13px 28px #0e65684d}.secondary-button{color:#175c5d;background:#ffffffc2;border:1px solid #10676638}.danger-button{color:#fff;background:#ad463b;border:1px solid #95372f}.wide{width:100%}.text-button{color:#287a77;cursor:pointer;background:0 0;border:0;font-weight:750}.eyebrow{color:#287876;letter-spacing:.18em;align-items:center;gap:9px;margin:0 0 14px;font-size:13px;font-weight:800;display:flex}.eyebrow span{background:#db9d3a;width:24px;height:2px}.back-link{z-index:30;color:#3d716f;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-size:14px;font-weight:750;display:flex;position:absolute;top:90px;left:max(26px,50% - 660px)}.welcome-page:before{content:"";opacity:.34;filter:saturate(.78);background:linear-gradient(90deg,#dcebe2 0%,#0000 34%),url(/assets/battle-bg.png) 50%/cover;position:absolute;inset:0 0 0 42%;-webkit-mask-image:linear-gradient(270deg,#000 70%,#0000);mask-image:linear-gradient(270deg,#000 70%,#0000)}.welcome-stage{z-index:2;grid-template-columns:.94fr 1.06fr;align-items:center;gap:6vw;width:min(1340px,100% - 80px);min-height:calc(100vh - 72px);margin:auto;padding:54px 0 64px;display:grid;position:relative}.welcome-copy{max-width:640px}.welcome-copy h1,.entry-heading h1,.campaign-heading h1{letter-spacing:.02em;margin:0;font:800 clamp(43px,4.1vw,65px)/1.13 KaiTi,STKaiti,"Noto Serif SC",serif}.welcome-copy h1 em{color:#ac4a3d;text-shadow:0 2px #fff6df;font-style:normal}.lead{color:#547371;max-width:590px;margin:22px 0 25px;font-size:17px;line-height:1.9}.hero-actions{gap:11px;display:flex}.hero-actions .primary-button{min-width:190px;height:54px;font-size:17px}.return-profile{color:#315f5e;text-align:left;cursor:pointer;background:#ffffff96;border:1px solid #1a706c29;border-radius:14px;grid-template-columns:45px 1fr auto;align-items:center;gap:11px;width:min(520px,100%);margin-top:18px;padding:10px 13px;display:grid}.return-profile:hover{background:#ffffffe6}.mini-role{background:#cce6da;border-radius:11px;width:43px;height:43px;overflow:hidden}.mini-role img,.profile-avatar img,.round-portrait img{object-fit:cover;object-position:50% 18%;width:100%;height:100%}.return-profile span:nth-child(2){flex-direction:column;gap:3px;display:flex}.return-profile small{color:#6e8985;font-size:12px}.return-profile b{font-size:14px}.return-profile em{color:#9a6430;background:#f5e6bf;border-radius:20px;padding:6px 10px;font-style:normal;font-weight:850}.switch-account{margin:8px 0 0 67px;font-size:13px}.session-strip{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:31px;display:grid}.session-strip div{color:#3b7471;border-top:1px solid #185c5926;align-items:center;gap:10px;min-height:74px;padding:12px;display:flex}.session-strip svg{color:#b87c2f;flex:none}.session-strip span{flex-direction:column;gap:4px;font-size:12px;display:flex}.session-strip b{color:#1e5554;font-size:14px}.welcome-visual{place-items:end center;min-height:650px;display:grid;position:relative}.welcome-visual>img{z-index:3;object-fit:contain;object-position:bottom;filter:drop-shadow(0 25px 30px #0f3f3d4d);width:min(520px,80%);height:640px;animation:4s ease-in-out infinite hero-float;position:relative}.portal-ring{border:1px solid #2d9b8f4d;border-radius:50%;width:520px;height:520px;animation:18s linear infinite ring-turn;position:absolute;bottom:36px;box-shadow:inset 0 0 70px #5fd3bd26,0 0 80px #50a89b24}.portal-ring:before,.portal-ring:after,.portal-ring span,.portal-ring i,.portal-ring b{content:"";border:1px dashed #2587814d;border-radius:50%;position:absolute}.portal-ring:before{inset:38px}.portal-ring:after{inset:88px}.portal-ring span{background:#dca64b;border:0;inset:15px 230px;box-shadow:0 470px #dca64b}.portal-ring i{background:#56baa7;border:0;inset:230px 15px;box-shadow:470px 0 #56baa7}.journey-badge{z-index:5;min-width:200px;box-shadow:var(--shadow);background:#faf8e7e6;border:1px solid #185c592e;border-radius:18px 6px;flex-direction:column;padding:14px 18px;display:flex;position:absolute;bottom:72px;right:0}.journey-badge small,.journey-badge span{color:#65807c;font-size:12px}.journey-badge b{color:#995039;margin:4px 0}.chapter-float{z-index:5;color:#e8f7f1;background:#073e41d1;border:1px solid #ffffff40;border-radius:12px;align-items:center;gap:9px;min-width:105px;padding:10px 14px;animation:3s ease-in-out infinite badge-float;display:flex;position:absolute;box-shadow:0 12px 35px #04232440}.chapter-float span{color:#7b4530;background:#efc86f;border-radius:50%;place-items:center;width:30px;height:30px;font:800 18px KaiTi,"Noto Serif SC",serif;display:grid}.chapter-float b{font-size:13px}.chapter-float-a{top:28%;left:2%}.chapter-float-b{animation-delay:-1.3s;top:18%;right:3%}.entry-page:before{content:"";opacity:.54;background:linear-gradient(90deg,#e0efe7f2,#e0efe7b3),url(/assets/battle-bg.png) 50%/cover;position:absolute;inset:0}.entry-shell{z-index:2;width:min(1160px,100% - 52px);min-height:calc(100vh - 72px);margin:auto;padding:90px 0 55px;position:relative}.entry-heading{text-align:center;max-width:760px;margin:0 auto 28px}.entry-heading .eyebrow{justify-content:center}.entry-heading h1{font-size:46px}.entry-heading>p:last-child{color:#607c79;font-size:16px;line-height:1.7}.identity-card{width:min(720px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffdf4e0;border:1px solid #18605c2b;border-radius:24px 8px;margin:auto;padding:28px}.step-mark{color:#6c837f;grid-template-columns:34px auto 1fr 34px auto;align-items:center;gap:9px;margin-bottom:25px;font-size:13px;display:grid}.step-mark b{color:#fff;background:#1c827f;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.step-mark i{background:#c7d7cf;height:1px}.identity-grid{grid-template-columns:1.6fr 1fr;gap:14px;display:grid}.identity-grid label{flex-direction:column;gap:9px;font-size:14px;font-weight:800;display:flex}.identity-grid select,.class-picker select{color:#164c4e;background:#fff;border:1px solid #c9d9d1;border-radius:12px;height:50px;padding:0 14px;font-weight:750}.account-check{border-radius:12px;align-items:center;gap:11px;min-height:68px;margin:18px 0;padding:12px 15px;display:flex}.account-check.new{color:#725328;background:#f7ebcc}.account-check.found{color:#236d61;background:#dcefe7}.account-check span{flex-direction:column;gap:3px;display:flex}.account-check small{opacity:.74;font-size:12px}.role-select-panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#fbf9ecad;border:1px solid #ffffff8c;border-radius:28px 9px;padding:18px}.role-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.role-card{cursor:pointer;background:#e4eee7;border:2px solid #0000;border-radius:20px 7px;padding:0;transition:all .24s;position:relative;overflow:hidden;box-shadow:0 10px 28px #0f423e1a}.role-card:hover,.role-card.selected{transform:translateY(-5px)}.role-card.selected{border-color:#dca947;box-shadow:0 15px 35px #5d421430,0 0 0 4px #e0b24d21}.role-art{background:radial-gradient(circle at 50% 36%,#dff2e8,#b8d8ce);height:340px;display:block;position:relative;overflow:hidden}.role-art:after{content:"";background:linear-gradient(#0000,#073c3d66);height:35%;position:absolute;inset:auto 0 0}.role-art img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 20px #10413b4d);width:100%;height:100%}.role-copy{color:#eef8f3;text-align:left;background:#0f5558;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;min-height:80px;padding:13px 14px;display:grid}.role-copy>i{color:#704c22;background:#eec96f;border-radius:10px;place-items:center;width:36px;height:36px;font-style:normal;display:grid}.role-copy>span{flex-direction:column;gap:4px;display:flex}.role-copy b{font-size:16px}.role-copy small{color:#a9ccc3;font-size:12px}.role-confirm{color:#597773;justify-content:space-between;align-items:center;gap:18px;padding:18px 5px 3px;font-size:13px;display:flex}.role-confirm>span{align-items:center;gap:7px;display:flex}.map-page{background:linear-gradient(#e4f1e9e8,#d3e7ddf0),url(/assets/battle-bg.png) 50%/cover fixed;min-height:100vh;padding-bottom:105px;position:relative;overflow:hidden}.map-page:before{content:"";pointer-events:none;background:radial-gradient(circle at 22% 20%,#fffc,#0000 26%),radial-gradient(circle at 76% 65%,#5ab5a41f,#0000 30%);position:fixed;inset:72px 0 0}.map-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#eef6edc7;width:100%;padding:0 34px}.player-hud{align-items:center;gap:10px;display:flex}.profile-chip{text-align:left;cursor:pointer;background:#ffffffb3;border:1px solid #19666326;border-radius:14px;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;min-width:270px;height:52px;padding:5px 8px 5px 5px;display:grid}.profile-avatar{background:#c8e4d9;border-radius:11px;width:40px;height:40px;overflow:hidden}.profile-chip>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.profile-chip b{font-size:14px}.profile-chip small{color:#68827e;font-size:11px}.level-badge{color:#8b5d25;font-size:12px;font-weight:850}.xp-bar{background:#0c45441f;border-radius:8px;width:135px;height:9px;position:relative;overflow:visible}.xp-bar>span{background:linear-gradient(90deg,#e2a94a,#f3cc75);border-radius:8px;height:100%;display:block}.xp-bar small{color:#6b817e;font-size:10px;position:absolute;top:13px;left:0}.resource-chip{color:#9b6726;background:#ffffffa6;border-radius:11px;align-items:center;gap:6px;height:36px;padding:0 12px;display:flex}.resource-chip span{color:#69817e;font-size:11px}.campaign-world{z-index:2;width:min(1380px,100% - 54px);margin:auto;padding:30px 0 105px;position:relative}.campaign-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px;display:flex}.campaign-heading h1{font-size:38px}.campaign-heading>div:first-child>p:last-child{color:#5f7976;margin:8px 0 0;font-size:14px}.campaign-summary{background:#ffffff94;border:1px solid #14595624;border-radius:15px;grid-template-columns:repeat(3,1fr);min-width:350px;display:grid}.campaign-summary span{border-right:1px solid #1459561f;flex-direction:column;align-items:center;padding:12px 18px;display:flex}.campaign-summary span:last-child{border:0}.campaign-summary b{color:#1b6765;font-size:23px}.campaign-summary small{color:#6e827e;font-size:11px}.healing-banner{color:#9b4438;background:#ffebe2eb;border:1px solid #edc2b5;border-radius:14px;grid-template-columns:auto auto 1fr;align-items:center;gap:11px;min-height:64px;margin-bottom:15px;padding:11px 17px;display:grid;box-shadow:0 8px 22px #71352514}.healing-banner>span{flex-direction:column;gap:2px;display:flex}.healing-banner small{color:#8a6d65;font-size:12px}.healing-banner>div{background:#ead4cc;border-radius:7px;height:8px;overflow:hidden}.healing-banner i{background:linear-gradient(90deg,#e77960,#eab35d);height:100%;display:block}.chapter-grid{grid-template-columns:1.1fr 1fr .82fr;gap:14px;display:grid}.chapter-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf4cf;border:1px solid #13514e29;border-radius:22px 8px;min-height:305px;overflow:hidden;box-shadow:0 14px 38px #11464317}.chapter-panel>header{color:#fff;background:linear-gradient(135deg,#0f6c70,#174f57);grid-template-columns:48px 1fr auto;align-items:center;gap:12px;min-height:105px;padding:16px;display:grid}.chapter-panel.chinese>header{background:linear-gradient(135deg,#6e4b79,#405877)}.chapter-panel.raid>header{background:linear-gradient(135deg,#754038,#9e553a)}.chapter-number{color:#ffe095;background:#ffffff14;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:45px;height:45px;font:800 25px KaiTi,"Noto Serif SC",serif;display:grid}.chapter-panel header small{color:#a9d7cd;font-size:11px}.chapter-panel.chinese header small{color:#c9c7e1}.chapter-panel header h2{margin:3px 0;font:800 20px KaiTi,"Noto Serif SC",serif}.chapter-panel header p{color:#afd0c9;margin:0;font-size:11px}.chapter-panel header em{color:#ffe197;background:#00000026;border-radius:20px;padding:6px 9px;font-size:12px;font-style:normal;font-weight:850}.stage-ladder{gap:7px;padding:12px;display:grid}.stage-ladder button{text-align:left;cursor:pointer;background:#e3ede4b3;border:1px solid #0000;border-radius:11px;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;min-height:46px;padding:6px 10px;transition:all .18s;display:grid}.stage-ladder button:not(:disabled):hover,.stage-ladder button.selected{background:#fff4d6;border-color:#da9e37b3;transform:translate(3px)}.stage-ladder button.cleared{background:#e1f0e8}.stage-ladder button>span{color:#fff;background:#217d78;border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.stage-ladder button:disabled>span{background:#899a96}.stage-ladder strong{font-size:14px}.stage-ladder small{color:#718581;font-size:11px}.chapter-locked{filter:saturate(.65)}.chapter-locked>header{position:relative}.raid-wait{color:#8a674c;background:radial-gradient(circle at 50% 30%,#ecba572e,#0000 44%);justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.raid-wait>span{flex-direction:column;gap:4px;display:flex}.raid-wait b{font-size:16px}.raid-wait small{color:#897b70;font-size:12px}.stage-detail{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfaecf0;border:1px solid #104c4a33;border-radius:18px 7px;grid-template-columns:1.4fr 1.5fr 1.1fr auto;align-items:center;gap:16px;min-height:85px;padding:14px 16px;display:grid;position:absolute;bottom:5px;left:0;right:0;box-shadow:0 18px 50px #0b39362e}.stage-detail-title{grid-template-columns:44px 1fr auto;align-items:center;gap:10px;display:grid}.stage-detail-title>span{color:#fff;background:#15787a;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.stage-detail-title div{flex-direction:column;display:flex}.stage-detail-title small{color:#768985;font-size:10px}.stage-detail-title h2{margin:3px 0 0;font:800 20px KaiTi,"Noto Serif SC",serif}.stage-detail-title em{color:#33836f;align-items:center;gap:4px;font-size:11px;font-style:normal;display:flex}.target-list{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.target-list span{color:#69817d;background:#edf2ea;border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:8px;font-size:10px;display:flex}.target-list b{color:#285e5c;font-size:11px}.reward-row{flex-wrap:wrap;gap:6px;display:flex}.reward-row small{color:#788884;width:100%}.reward-row span{color:#a16b25;align-items:center;gap:4px;font-size:12px;display:flex}.stage-detail>.primary-button{min-width:190px}.bottom-dock{z-index:30;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#083c40e6;border:1px solid #ffffff59;border-radius:20px;gap:2px;height:66px;padding:6px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 15px 38px #0325274d}.bottom-dock button{color:#9ebdb7;cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:82px;padding:5px 12px;font-size:10px;display:flex}.bottom-dock button.active{color:#fff1ba;background:#ffffff1f}.battle-page{color:#eaf7f2;background:#082f35;min-width:760px;height:100vh;min-height:700px;overflow:hidden}.battle-topline{z-index:60;background:linear-gradient(#052a2ffa,#072e33db);border-bottom:1px solid #ffffff1f;grid-template-columns:180px 1fr auto;align-items:center;gap:22px;height:68px;padding:0 26px;display:grid;position:relative}.battle-back{color:#bdd1cb;background:#ffffff12;border-color:#ffffff21;width:max-content;padding:0 14px}.boss-hud{grid-template-columns:100px minmax(240px,570px) 82px;justify-content:center;align-items:center;gap:10px;display:grid}.boss-name{text-align:right}.boss-name small{color:#8eaaa5;font-size:9px;display:block}.boss-name b{font:800 16px KaiTi,"Noto Serif SC",serif}.boss-hp{background:#172f31;border:2px solid #dcc277;border-radius:10px;height:16px;position:relative;overflow:hidden;box-shadow:0 0 0 3px #0003}.boss-hp span{background:linear-gradient(90deg,#ca4a3d,#ec7951,#f1bf55);height:100%;transition:all .35s;display:block}.boss-hp em{color:#fff;text-shadow:0 1px 2px #000;place-items:center;font-size:8px;font-style:normal;font-weight:900;display:grid;position:absolute;inset:0}.boss-level{color:#e4c16a;font-size:11px;font-weight:800}.battle-tools{align-items:center;gap:7px;display:flex}.battle-tools .icon-button{color:#c7dbd5;background:#ffffff12;border-color:#ffffff1a}.mode-lock-pill,.current-skill-pill{color:#bfe9dd;white-space:nowrap;background:#064445b8;border:1px solid #6adabf38;border-radius:18px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:10px;display:inline-flex}.current-skill-pill b{color:#f4cd72}.current-skill-pill.tier-3{box-shadow:0 0 18px #6794ff47}.current-skill-pill.tier-4{color:#ffe398;box-shadow:0 0 22px #f5b4375c}.battle-world{cursor:text;background:linear-gradient(#052a2e0d,#02242757),url(/assets/battle-bg.png) 50%/cover;height:calc(100vh - 68px);min-height:632px;position:relative;overflow:hidden}.battle-world:after{content:"";pointer-events:none;background:linear-gradient(90deg,#04282b59,#0000 25% 72%,#04262a42),linear-gradient(#0000 68%,#031c1f9e);position:absolute;inset:0}.keyboard-capture{opacity:.01;pointer-events:none;border:0;width:2px;height:2px;padding:0;position:absolute;bottom:155px;left:50%}.world-depth{pointer-events:none;position:absolute}.back-mountains{background:radial-gradient(at 50% 69%,#97e5d72b,#0000 36%);animation:8s ease-in-out infinite scene-breathe;inset:0}.fog-bank{filter:blur(16px);background:linear-gradient(#0000,#bee9db26,#0000);height:190px;animation:12s ease-in-out infinite alternate fog-slide;bottom:145px;left:-10%;right:-10%}.stone-platform{border:1px solid #5bddc026;border-radius:50%;height:50px;bottom:135px;left:8%;right:8%;box-shadow:0 6px 35px #031b1c8c,inset 0 0 30px #5dc7b21c}.hero-unit{z-index:8;width:40%;height:72%;position:absolute;bottom:140px;left:6%}.boss-unit{z-index:7;width:42%;height:69%;position:absolute;bottom:140px;right:5%}.hero-sprite,.boss-sprite{transform-origin:50% 87%;position:absolute;inset:0}.hero-sprite img,.boss-sprite img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 18px #0115168f);width:100%;height:100%}.hero-sprite{animation:3.1s ease-in-out infinite hero-idle}.boss-sprite{animation:3.7s ease-in-out infinite boss-idle}.boss-sprite img{transform:scale(1.08)}.hero-sprite.hero-light{animation:.48s cubic-bezier(.2,.7,.2,1) hero-strike}.hero-sprite.hero-heavy{animation:.7s cubic-bezier(.2,.75,.2,1) hero-heavy-strike}.hero-sprite.boss{animation:.54s hero-hurt}.hero-sprite.defeated{filter:grayscale(.55);animation:.75s forwards hero-fall}.boss-sprite.hero-light{animation:.48s boss-hit}.boss-sprite.hero-heavy{animation:.68s boss-hit-heavy}.boss-sprite.boss{animation:.66s boss-attack}.role-bow .hero-sprite.hero-light{animation:.52s bow-shot}.role-bow .hero-sprite.hero-heavy{animation:.72s bow-volley}.role-mage .hero-sprite.hero-light{animation:.58s mage-cast}.role-mage .hero-sprite.hero-heavy{animation:.78s mage-burst}.hero-aura-ring,.boss-aura-ring{z-index:-1;border:2px solid #59e1c047;border-radius:50%;height:16%;animation:2.2s ease-in-out infinite aura-pulse;position:absolute;bottom:1%;left:17%;right:17%;box-shadow:0 0 30px #5ddabe3d}.boss-aura-ring{border-color:#ebc25b40;box-shadow:0 0 35px #ebc25b33}.hero-status{z-index:9;color:#eaf7f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#053033b8;border:1px solid #ffffff24;border-radius:13px;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;min-width:195px;padding:8px 10px 11px 7px;display:grid;position:absolute;top:33%;left:0}.round-portrait{background:#cfe6dc;border:2px solid #87d8c1;border-radius:50%;width:40px;height:40px;overflow:hidden}.hero-status>span:nth-child(2){flex-direction:column;display:flex}.hero-status b{font-size:12px}.hero-status small{color:#98b7b1;font-size:9px}.hero-status>em{color:#a9c3be;align-self:end;font-size:8px;font-style:normal}.mini-health{background:#ffffff21;border-radius:5px;height:4px;position:absolute;bottom:6px;left:57px;right:9px;overflow:hidden}.mini-health i{background:linear-gradient(90deg,#4fc29b,#8be0b5);height:100%;transition:all .25s;display:block}.boss-shadow{filter:blur(8px);background:#00141661;border-radius:50%;height:8%;position:absolute;bottom:1%;left:18%;right:7%}.input-diagnostic{z-index:16;color:#9fc2bb;background:#042b2e9e;border-radius:14px;align-items:center;gap:6px;padding:5px 11px;font-size:9px;display:flex;position:absolute;bottom:187px;left:50%;transform:translate(-50%)}.input-diagnostic i{background:#6fd5b8;border-radius:50%;width:6px;height:6px}.battle-stats{z-index:18;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#032b2fe6;border:1px solid #ffffff21;border-radius:14px 14px 0 0;align-items:center;height:46px;display:flex;position:absolute;bottom:153px;left:50%;transform:translate(-50%)}.battle-metric{color:#72dcc0;border-right:1px solid #ffffff1a;align-items:center;gap:7px;min-width:100px;padding:0 12px;display:flex}.battle-metric:last-child{border:0}.battle-metric span{flex-direction:column;display:flex}.battle-metric small{color:#9bb8b2;font-size:8px}.battle-metric b{color:#fff;font-size:13px}.battle-metric em{color:#b6cdc7;font-size:7px;font-style:normal}.skill-ladder{z-index:17;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#032b2fc2;border:1px solid #ffffff21;border-radius:16px 6px;width:165px;padding:11px;position:absolute;top:17%;right:18px}.skill-ladder>small{color:#9bbab3;letter-spacing:.12em;margin-bottom:7px;font-size:9px;display:block}.skill-ladder>div{opacity:.5;border-top:1px solid #ffffff12;grid-template-columns:25px 1fr;align-items:center;gap:6px;min-height:38px;padding:5px;display:grid}.skill-ladder>div>span{background:#ffffff1a;border-radius:50%;grid-row:1/3;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.skill-ladder b{font-size:10px}.skill-ladder em{color:#98b2ad;font-size:8px;font-style:normal}.skill-ladder .ready{opacity:.82}.skill-ladder .active{opacity:1;color:#ffe095;background:#e1ac3f1f;border-radius:8px;box-shadow:inset 2px 0 #e6b54f}.skill-ladder .locked{filter:grayscale()}.typing-scroll{z-index:20;color:#173f41;background:linear-gradient(90deg,#f6eed2f7,#fffae8fc,#f6eed2f7);border:1px solid #eed597d9;border-radius:7px 7px 20px 20px;min-height:144px;position:absolute;bottom:14px;left:3%;right:3%;box-shadow:0 18px 50px #01141780,inset 0 0 45px #875f2614}.typing-scroll:before,.typing-scroll:after{content:"";background:linear-gradient(90deg,#b88745,#f0d697,#a87337);border-radius:15px;width:23px;position:absolute;top:-6px;bottom:-6px;box-shadow:0 3px 10px #2a1d0c66}.typing-scroll:before{left:-12px}.typing-scroll:after{right:-12px}.scroll-top{color:#6c7d75;border-bottom:1px dashed #535d4540;grid-template-columns:1fr 1.5fr 1fr;align-items:center;height:35px;padding:0 22px;font-size:9px;display:grid}.scroll-top span{align-items:center;gap:7px;display:flex}.scroll-top span:nth-child(2){justify-content:center}.scroll-top .timer{justify-content:flex-end}.scroll-top i{background:#51bd95;border-radius:50%;width:6px;height:6px}.typing-line{white-space:pre-wrap;letter-spacing:.035em;text-align:center;justify-content:center;align-items:center;min-height:70px;padding:6px 20px;font:800 clamp(20px,2.1vw,34px)/1.45 ui-monospace,SFMono-Regular,Menlo,"Noto Serif SC",monospace;display:flex}.typing-line.chinese{letter-spacing:.12em;font-family:KaiTi,STKaiti,"Noto Serif SC",serif;font-size:clamp(25px,2.5vw,40px)}.typing-line span{color:#82918a;min-width:.55em;transition:all .12s;position:relative}.typing-line .done{color:#218c7f}.typing-line .done:after{content:"";background:#67b7a1;height:2px;position:absolute;bottom:0;left:15%;right:15%}.typing-line .current{color:#a13e33;background:#e1ae4945;border-radius:4px;animation:1s infinite current-key}.typing-footer{color:#6d817c;border-top:1px solid #3b5d521f;justify-content:space-between;align-items:center;height:35px;padding:0 22px;font-size:9px;display:flex}.typing-footer span{align-items:center;gap:6px;display:flex}.typing-footer .has-error{color:#b8493d}.typing-footer kbd{color:#245b5b;background:#fff;border:1px solid #c9c7b8;border-bottom-width:3px;border-radius:5px;place-items:center;min-width:25px;height:23px;padding:0 5px;font-weight:900;display:grid}.skill-footer{color:#257970;font-weight:800}.skill-footer.tier-3{color:#586fb9}.skill-footer.tier-4{color:#a85a21}.start-hint{z-index:25;color:#ddede7;background:#052225d1;border:1px solid #ffffff2e;border-radius:30px;align-items:center;gap:8px;padding:11px 16px;font-size:12px;animation:1.6s ease-in-out infinite start-hint;display:flex;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.attack-effect{z-index:30;pointer-events:none;width:250px;height:130px;position:absolute;top:38%;left:47%}.attack-effect>strong{color:#fff0a7;text-shadow:0 2px 9px #074f54;font:800 21px KaiTi,"Noto Serif SC",serif;animation:.9s forwards skill-name-pop;position:absolute;top:-18px;left:28px}.key-rune{color:#fff;background:#208e86;border:2px solid #c8ffe8;border-radius:50%;place-items:center;width:45px;height:45px;font-weight:900;animation:.55s forwards rune-flight;display:grid;position:absolute;top:38px;left:35px;box-shadow:0 0 22px #63dfc1}.attack-effect>i{background:linear-gradient(90deg,#0000,#9effdf,#fff2aa,#0000);border-radius:50%;width:160px;height:8px;animation:.58s forwards slash-flare;position:absolute;top:49px;left:45px;transform:rotate(-18deg);box-shadow:0 0 18px #61e6c3}.attack-effect>b{color:#ffdf75;text-shadow:0 3px 8px #2b3420;font-size:23px;animation:.85s forwards damage-float;position:absolute;top:16px;right:4px}.attack-effect em,.enemy-attack-effect em{--angle:calc(var(--i) * 45deg);width:7px;height:7px;transform:rotate(var(--angle));background:#baffea;border-radius:50%;animation:.7s forwards particle-burst;position:absolute;top:60px;left:145px;box-shadow:0 0 9px #66efc8}.attack-effect.skill-tier-3>i,.attack-effect.skill-tier-4>i{background:linear-gradient(90deg,#0000,#b1c8ff,#fff3a5,#0000);height:14px;box-shadow:0 0 29px #88a8ff}.attack-effect.skill-tier-4{transform:scale(1.17)}.attack-effect.skill-tier-4>strong{color:#ffe279;font-size:27px}.role-bow .attack-effect>i{height:5px;transform:rotate(-7deg);box-shadow:90px 16px 0 -1px #a3ffe6bf,55px -18px 0 -1px #a3ffe6bf}.role-bow .key-rune{border-radius:45% 55% 55% 45%}.role-mage .attack-effect>i{background:0 0;border:5px double #9dffe0;border-radius:50%;width:105px;height:105px;animation:.7s forwards spell-ring;top:5px;left:85px;transform:none;box-shadow:inset 0 0 23px #68d6c0,0 0 30px #65e7ca}.skill-screen-flash{z-index:22;pointer-events:none;background:radial-gradient(circle at 62% 45%,#9bbfff57,#0000 34%);animation:.6s forwards screen-skill-flash;position:absolute;inset:0}.skill-screen-flash.tier-4{background:radial-gradient(circle at 58% 43%,#ffe78e94,#59eace2e 24%,#0000 48%);animation:.8s forwards ultimate-flash}.enemy-attack-effect{z-index:31;pointer-events:none;width:220px;height:100px;position:absolute;top:42%;right:42%}.enemy-attack-effect>span{background:radial-gradient(circle at 35% 35%,#fff09a,#57d4c0 38%,#11706d 70%);border-radius:50%;width:50px;height:50px;animation:.62s forwards enemy-orb;position:absolute;top:28px;right:15px;box-shadow:0 0 29px #65e5c6}.enemy-attack-effect>i{background:linear-gradient(90deg,#0000,#70d9bf);width:175px;height:8px;animation:.6s forwards enemy-trail;position:absolute;top:49px;right:45px}.enemy-attack-effect>b{color:#ff8b70;font-size:24px;animation:.8s forwards damage-float;position:absolute;top:5px;left:0}.enemy-attack-effect em{background:#ff977e;top:52px;left:30px;box-shadow:0 0 8px #ff745f}.skill-awaken{z-index:42;color:#fff2b9;background:linear-gradient(135deg,#105356f5,#4d405ef5);border:1px solid #f6d376;border-radius:25px 8px;flex-direction:column;align-items:center;min-width:260px;padding:13px 28px;animation:2.2s forwards awaken-pop;display:flex;position:absolute;top:22%;left:50%;transform:translate(-50%);box-shadow:0 15px 45px #001c1e80,0 0 28px #e6be534d}.skill-awaken small{color:#b7d9d2;letter-spacing:.18em;font-size:9px}.skill-awaken b{margin:3px 0;font:800 25px KaiTi,"Noto Serif SC",serif}.skill-awaken span{color:#f2c95f;font-size:10px}.pause-layer,.defeat-layer{z-index:70;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03171abd;place-items:center;display:grid;position:absolute;inset:0}.pause-layer>div{color:#174345;text-align:center;box-shadow:var(--shadow);background:#f7f1daf5;border-radius:24px 8px;padding:36px 55px}.pause-layer span{color:#8b4c36;letter-spacing:.2em;font-size:10px}.pause-layer h2{margin:9px 0 20px;font:800 32px KaiTi,"Noto Serif SC",serif}.defeat-card{color:#423e38;text-align:center;background:linear-gradient(145deg,#fff3e5,#e9d9c8);border:1px solid #d6a78b;border-radius:28px 9px;width:min(500px,100% - 40px);padding:32px;animation:.45s result-in;box-shadow:0 30px 90px #000f11a6}.broken-seal{color:#fff1e4;background:linear-gradient(#b65a4d,#733b36);border:5px solid #f2ddca;border-radius:50%;place-items:center;width:64px;height:64px;margin:-67px auto 19px;display:grid;box-shadow:0 0 0 5px #b553452e}.defeat-card .eyebrow{color:#9a4e43;justify-content:center}.defeat-card h2{color:#7f3b35;margin:0;font:800 30px KaiTi,"Noto Serif SC",serif}.defeat-card>p:not(.eyebrow){color:#766c63;font-size:13px;line-height:1.7}.heal-clock{color:#9b4c3f;text-align:left;background:#ffffff8c;border-radius:13px;grid-template-columns:32px auto 1fr;align-items:center;gap:10px;margin:20px 0;padding:14px;display:grid}.heal-clock>span{flex-direction:column;display:flex}.heal-clock small{color:#8a786c;font-size:10px}.heal-clock b{font-size:21px}.heal-clock>div{background:#d7c9bc;border-radius:8px;height:9px;overflow:hidden}.heal-clock i{background:linear-gradient(90deg,#da6c59,#e8b05b);height:100%;display:block}.defeat-actions,.result-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.defeat-actions .primary-button:disabled{color:#867b70;box-shadow:none;background:#cec3b8;border-color:#bdafa1}.result-overlay{z-index:90;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#03191bbf;place-items:center;display:grid;position:fixed;inset:0}.result-card{color:#173f41;text-align:center;background:linear-gradient(145deg,#fffaf0,#eee8cf);border:1px solid #f1d991;border-radius:28px 9px;width:min(530px,100% - 40px);padding:35px;animation:.45s cubic-bezier(.2,.8,.2,1) result-in;box-shadow:0 30px 90px #000f11a6}.victory-mark{color:#7e3c30;background:linear-gradient(#ffe69b,#dda343);border:5px solid #f7ecc5;border-radius:50%;place-items:center;width:66px;height:66px;margin:-69px auto 20px;display:grid;box-shadow:0 0 0 5px #dfa83f33,0 8px 20px #4b2d1447}.result-card .eyebrow{justify-content:center;margin-bottom:8px}.result-card h2{margin:0;font:800 32px KaiTi,"Noto Serif SC",serif}.result-card>p:not(.eyebrow){color:#6b7c78;font-size:13px;line-height:1.7}.new-skill{color:#8a5a20;background:#fff3c9;border:1px solid #ebcc7b;border-radius:12px;justify-content:center;align-items:center;gap:9px;margin:14px 0 -4px;padding:10px;display:flex}.new-skill span{text-align:left;flex-direction:column;display:flex}.new-skill small{color:#8e7c56;font-size:9px}.new-skill b{font:800 19px KaiTi,"Noto Serif SC",serif}.result-metrics{border-block:1px solid #18514c21;grid-template-columns:repeat(3,1fr);margin:20px 0;padding:15px 0;display:grid}.result-metrics span{border-right:1px solid #18514c21;flex-direction:column;gap:4px;display:flex}.result-metrics span:last-child{border:0}.result-metrics small{color:#788883;font-size:9px}.result-metrics b{font-size:16px}.loot-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.loot-row>div{color:#a36b22;background:#d7e2d28c;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px;display:flex}.loot-row span{text-align:left;flex-direction:column;display:flex}.loot-row small{color:#78847f;font-size:8px}.teacher-page{color:#173b3d;background:#edf1eb;grid-template-columns:230px 1fr;min-height:100vh;display:grid}.teacher-sidebar{color:#e8efe9;background:#103f44;flex-direction:column;min-height:100vh;padding:25px 18px;display:flex}.teacher-sidebar .brand-lockup{padding:0 8px}.teacher-sidebar .brand-lockup small{color:#8bb2ac}.teacher-sidebar nav{flex-direction:column;gap:6px;margin-top:42px;display:flex}.teacher-sidebar nav button{color:#a9c4bf;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;height:44px;padding:0 13px;font-size:13px;display:flex}.teacher-sidebar nav button.active{color:#fff;background:#6dc8af26;box-shadow:inset 3px 0 #67c3a6}.teacher-profile{border-top:1px solid #ffffff1a;grid-template-columns:1fr auto;margin-top:auto;padding:14px 9px 0;display:grid}.teacher-profile span,.teacher-profile small{grid-column:1}.teacher-profile span{font-size:13px;font-weight:800}.teacher-profile small{color:#85aaa5;margin-top:3px;font-size:10px}.teacher-profile button{color:#bdd2ce;cursor:pointer;background:#ffffff14;border:0;border-radius:9px;grid-area:1/2/3;place-items:center;width:34px;height:34px;display:grid}.teacher-content{padding:28px 31px 42px;overflow:hidden}.teacher-header{align-items:center;gap:14px;display:flex}.teacher-header>div:first-child{margin-right:auto}.teacher-header p{color:#70827f;margin:0;font-size:11px}.class-picker{align-items:center;gap:10px;margin-top:4px;display:flex}.class-picker h1{margin:0;font:800 28px KaiTi,"Noto Serif SC",serif}.class-picker select{width:142px;height:34px;font-size:11px}.live-badge{color:#1e7169;background:#def0e6;border-color:#b9dacf}.overview-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 18px;display:grid}.overview-cards article{background:#fff;border:1px solid #dce5dd;border-radius:15px;align-items:flex-start;gap:12px;min-height:108px;padding:17px;display:flex;box-shadow:0 7px 22px #1a4a450d}.metric-icon{border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.metric-icon.teal{color:#24796f;background:#d9efe8}.metric-icon.gold{color:#ad7622;background:#f7e9c8}.metric-icon.coral{color:#b45343;background:#f9dfd8}.metric-icon.violet{color:#70569d;background:#e9e1f3}.overview-cards article>span{flex-direction:column;display:flex}.overview-cards small{color:#71827f;font-size:10px}.overview-cards b{margin-top:3px;font-size:24px}.overview-cards em{color:#758784;font-size:9px;font-style:normal}.overview-cards p{color:#429077;margin:4px 0 0;font-size:9px}.teacher-main-grid{grid-template-columns:minmax(620px,1fr) 315px;gap:14px;display:grid}.live-panel,.boss-control{background:#fff;border:1px solid #dbe5dd;border-radius:17px;overflow:hidden;box-shadow:0 9px 25px #1a4a450f}.panel-heading{justify-content:space-between;padding:18px 20px 12px;display:flex}.panel-heading h2{margin:0;font-size:16px}.panel-heading p{color:#7b8b88;margin:5px 0 0;font-size:10px}.sync-label{color:#5d8a81;align-items:center;gap:6px;font-size:9px;display:flex}.class-pace{background:#f4f7f2;border-radius:12px;margin:0 20px 14px;padding:14px}.pace-label,.pace-axis{color:#71827e;justify-content:space-between;font-size:9px;display:flex}.pace-label b{color:#9c5a35}.pace-bars{border-bottom:1px solid #cedbd2;align-items:flex-end;gap:calc(5.26316% - 5.26316px);height:76px;margin:8px 0 3px;display:flex;position:relative}.pace-bars i{background:#4ba990;border-radius:4px 4px 0 0;width:5px;max-height:70px}.pace-bars i.below{background:#e4a557}.pace-bars>span{border-top:1px dashed #c25846;position:absolute;left:0;right:0}.student-table{border-top:1px solid #edf0eb}.table-row{color:#657976;border-bottom:1px solid #edf0eb;grid-template-columns:1.35fr .55fr .8fr .7fr .8fr;align-items:center;min-height:45px;padding:0 20px;font-size:11px;display:grid}.table-row>span:first-child{color:#254e4f;align-items:center;gap:8px;display:flex}.table-row>span:first-child i{background:#e1ece4;border-radius:7px;place-items:center;width:25px;height:25px;font-size:8px;font-style:normal;display:grid}.table-head{color:#83908d;background:#f8faf7;min-height:35px;font-size:9px;font-weight:800}.student-state{color:#28755f;background:#def0e7;border-radius:12px;justify-self:start;padding:4px 7px}.student-state.attention{color:#b24e3e;background:#fae4d9}.boss-control{align-self:start}.boss-control-art{color:#fff;background:radial-gradient(circle at 77% 23%,#e8b34d66,#0000 18%),linear-gradient(145deg,#0b4347d1,#072b2ff5),url(/assets/battle-bg.png) 50%/cover;min-height:185px;padding:24px}.boss-control-art>svg{color:#f0c96b}.boss-control-art span{color:#acd0c7;letter-spacing:.14em;margin-top:13px;font-size:9px;display:block}.boss-control-art h2{margin:5px 0;font:800 25px KaiTi,"Noto Serif SC",serif}.boss-control-art p{color:#b9d0cc;margin:0;font-size:10px;line-height:1.6}.control-form{padding:19px}.control-form label{font-size:11px;font-weight:800}.control-form label>span{float:right;color:#a85835}.control-form input[type=range]{accent-color:#247f77;width:100%;margin:13px 0}.control-pair{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:15px;display:grid}.control-pair>span{background:#f1f5ef;border-radius:9px;flex-direction:column;padding:10px;display:flex}.control-pair small{color:#788884;font-size:8px}.control-pair b{margin-top:3px;font-size:13px}.control-note{color:#7a8985;justify-content:center;align-items:center;gap:5px;margin:11px 0 0;font-size:8px;display:flex}.danger-button{width:100%}.class-boss-progress{margin-bottom:12px}.class-boss-progress>span{background:#dae3da;border-radius:7px;height:9px;display:block;overflow:hidden}.class-boss-progress i{background:linear-gradient(90deg,#d59c38,#e95d42);height:100%;display:block}.class-boss-progress small{color:#8e5b31;text-align:center;margin-top:6px;font-size:8px;display:block}@keyframes pulse-dot{50%{opacity:.45;box-shadow:0 0 0 2px #40b8881a}}@keyframes hero-float{50%{transform:translateY(-8px)}}@keyframes badge-float{50%{transform:translateY(-7px)}}@keyframes ring-turn{to{transform:rotate(360deg)}}@keyframes scene-breathe{50%{transform:scale(1.018)}}@keyframes fog-slide{to{opacity:.7;transform:translate(9%)scale(1.1)}}@keyframes hero-idle{50%{transform:translateY(-5px)rotate(.5deg)}}@keyframes boss-idle{50%{transform:translateY(-7px)}}@keyframes hero-strike{0%{transform:translate(0)}48%{transform:translate(60px)rotate(3deg)scale(1.03)}to{transform:translate(0)}}@keyframes hero-heavy-strike{0%{transform:translate(0)}24%{transform:translate(-16px,-10px)rotate(-3deg)}52%{filter:brightness(1.3);transform:translate(110px,-18px)rotate(7deg)scale(1.08)}to{transform:translate(0)}}@keyframes bow-shot{28%{transform:translate(-16px)rotate(-2deg)}58%{filter:brightness(1.2);transform:translate(16px)scale(1.03)}}@keyframes bow-volley{20%{transform:translate(-18px,-15px)rotate(-3deg)}50%{filter:brightness(1.35);transform:translate(28px,-20px)scale(1.07)}}@keyframes mage-cast{35%{filter:brightness(1.25);transform:translateY(-16px)scale(1.04)}}@keyframes mage-burst{30%{filter:brightness(1.45)drop-shadow(0 0 22px #76efd2);transform:translate(-8px,-23px)scale(1.08)}58%{transform:translate(18px,-15px)scale(1.05)}}@keyframes hero-hurt{22%{filter:brightness(1.7)sepia(.35);transform:translate(-30px)rotate(-5deg)scale(.96)}48%{transform:translate(7px)rotate(2deg)}}@keyframes hero-fall{30%{transform:translate(-25px)rotate(-5deg)}to{opacity:.65;transform:translate(-38px,38px)rotate(-12deg)scale(.94)}}@keyframes boss-hit{35%{filter:drop-shadow(0 0 18px #8ef8dd)brightness(1.7);transform:translate(12px)}}@keyframes boss-hit-heavy{30%{filter:drop-shadow(0 0 26px #ffb950)brightness(2);transform:translate(24px)rotate(3deg)scale(.96)}55%{transform:translate(-6px)}}@keyframes boss-attack{28%{filter:brightness(1.35)drop-shadow(0 0 22px #69e9d1);transform:translate(22px,-7px)scale(1.08)}56%{transform:translate(-58px,-4px)scale(1.06)}}@keyframes aura-pulse{50%{opacity:.42;transform:scale(1.1);box-shadow:0 0 34px #5ee8c773}}@keyframes rune-flight{to{opacity:.15;transform:translate(290px,-18px)scale(.35)rotate(360deg)}}@keyframes slash-flare{0%{opacity:0;transform:rotate(-18deg)scaleX(.2)}45%{opacity:1}to{opacity:0;transform:rotate(-18deg)scaleX(1.45)}}@keyframes spell-ring{0%{opacity:0;transform:scale(.2)rotate(0)}45%{opacity:1}to{opacity:0;transform:translate(125px)scale(1.25)rotate(190deg)}}@keyframes damage-float{to{opacity:0;transform:translateY(-55px)scale(1.18)}}@keyframes skill-name-pop{0%{opacity:0;transform:translateY(12px)scale(.7)}40%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1.06)}}@keyframes particle-burst{to{transform:rotate(var(--angle)) translateX(85px) scale(0);opacity:0}}@keyframes screen-skill-flash{34%{opacity:1}to{opacity:0}}@keyframes ultimate-flash{0%{opacity:0;transform:scale(.75)}32%{opacity:1}to{opacity:0;transform:scale(1.1)}}@keyframes enemy-orb{0%{opacity:0;transform:translate(0)scale(.35)}25%{opacity:1}to{opacity:.2;transform:translate(-420px)scale(1.05)}}@keyframes enemy-trail{0%{opacity:0;transform:scaleX(.08)}35%{opacity:1}to{opacity:0;transform:translate(-390px)scaleX(.7)}}@keyframes current-key{50%{box-shadow:0 0 0 4px #e0a43b26}}@keyframes start-hint{50%{transform:translate(-50%,-56%);box-shadow:0 8px 24px #00000040}}@keyframes awaken-pop{0%{opacity:0;transform:translate(-50%,18px)scale(.72)}18%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-18px)scale(1.04)}}@keyframes result-in{0%{opacity:0;transform:translateY(24px)scale(.94)}}@media (width<=1120px){.welcome-stage{grid-template-columns:1fr 1fr;gap:28px;width:calc(100% - 48px)}.welcome-visual{min-height:560px}.welcome-visual>img{height:550px}.session-strip{grid-template-columns:1fr}.session-strip div{min-height:48px}.campaign-world{width:calc(100% - 34px)}.chapter-grid{grid-template-columns:1fr 1fr}.chapter-panel.raid{grid-column:1/3;min-height:190px}.chapter-panel.raid .raid-wait{min-height:85px}.stage-detail{grid-template-columns:1.2fr 1.5fr auto}.reward-row,.xp-bar,.resource-chip{display:none}.teacher-main-grid{grid-template-columns:1fr}.boss-control{grid-template-columns:1fr 1fr;display:grid}.battle-tools .mode-lock-pill{display:none}.skill-ladder{width:150px;right:8px}}@media (width<=760px){.topbar{width:calc(100% - 28px)}.server-pill,.topbar .ghost-button{display:none}.welcome-stage{grid-template-columns:1fr;padding-top:34px}.welcome-visual{min-height:480px}.welcome-visual>img{height:475px}.welcome-copy h1{font-size:42px}.portal-ring{width:390px;height:390px}.chapter-float-a{left:0}.journey-badge{right:0}.return-profile{width:100%}.entry-shell{width:calc(100% - 28px);padding-top:90px}.entry-heading h1{font-size:38px}.identity-grid,.role-grid{grid-template-columns:1fr}.role-art{height:300px}.role-confirm{flex-direction:column;align-items:stretch}.role-confirm .primary-button{width:100%}.map-topbar{padding:0 14px}.map-topbar>.brand-lockup,.map-topbar>.topbar-actions{display:none}.profile-chip{min-width:260px}.campaign-heading{flex-direction:column;align-items:flex-start}.campaign-summary{width:100%;min-width:0}.chapter-grid{grid-template-columns:1fr}.chapter-panel.raid{grid-column:auto}.stage-detail{grid-template-columns:1fr;margin-top:14px;position:relative;bottom:auto}.target-list{grid-template-columns:repeat(3,1fr)}.stage-detail>.primary-button{width:100%}.campaign-world{padding-bottom:8px}.teacher-page{grid-template-columns:1fr}.teacher-sidebar{flex-direction:row;align-items:center;min-height:64px;padding:12px 18px}.teacher-sidebar nav,.teacher-profile{display:none}.teacher-content{padding:20px 14px;overflow:auto}.teacher-header{flex-wrap:wrap}.teacher-header .live-badge{order:3}.overview-cards{grid-template-columns:1fr 1fr}.teacher-main-grid{min-width:690px}.boss-control{display:block}}@media (height<=800px) and (width>=761px){.welcome-visual{min-height:570px}.welcome-visual>img{height:565px}.welcome-stage{padding-top:20px}.campaign-world{padding-top:18px}.campaign-heading{margin-bottom:12px}.chapter-panel{min-height:276px}.chapter-panel>header{min-height:92px}.stage-ladder{gap:4px}.stage-ladder button{min-height:41px}.battle-page{min-height:650px}.battle-world{min-height:582px}.hero-unit,.boss-unit{height:67%;bottom:133px}.typing-scroll{min-height:134px}.typing-line{min-height:62px}.skill-ladder{top:12%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}@keyframes scroll-fade-reveal-s{0%{--scroll-fade-s:0px}to{--scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-e{0%{--scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-e:0px}}@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.welcome-copy h1{font-size:clamp(46px,5vw,78px);line-height:1.24}.welcome-copy .lead{max-width:460px}.welcome-visual{isolation:isolate}.welcome-visual>img{max-height:70vh}.jade-light{z-index:0;pointer-events:none;filter:blur(1px);position:absolute;inset:20% 4% 4%}.jade-light:before{content:"";filter:blur(24px);background:radial-gradient(#ebffe0bf,#6fe2c33d 40%,#0000 68%);border-radius:50%;animation:7s ease-in-out infinite jade-breathe;position:absolute;inset:5%}.jade-light>i{filter:blur(3px);border:2px solid #0000;border-color:#fff3b9b3 #0000 #0000 #45cfaf6b;border-radius:48% 52% 57% 43%;animation:10s ease-in-out infinite alternate jade-wisp;position:absolute;inset:8% 9%;transform:rotate(-25deg)}.jade-light>i:nth-child(2){animation-delay:-4s;inset:23% 0 3%;transform:rotate(32deg)}.jade-light>i:nth-child(3){filter:blur(7px);animation-delay:-8s;inset:4% 20% 19%}.jade-light>span{left:calc(10% + var(--seed)*7%);width:4px;height:4px;animation:firefly-rise 5s calc(var(--seed)*-.7s) ease-in infinite;background:#ffe9a7;border-radius:50%;position:absolute;bottom:5%;box-shadow:0 0 10px #fff5cb}.chapter-float{display:none}.journey-badge{font-size:16px;bottom:8%;right:1%}.journey-badge small,.journey-badge span,.return-profile small{font-size:14px}.brand-lockup small{font-size:10px}.role-confirm>span{font-size:15px}.role-copy small,.identity-card small{font-size:14px}.entry-heading>p:last-child{margin-top:18px}.profile-chip small{font-size:13px}.level-badge{font-size:15px}.xp-bar small{font-size:12px}.xp-bar{width:155px}.resource-chip span{font-size:13px}@keyframes jade-breathe{50%{opacity:.7;transform:scale(1.13)}}@keyframes jade-wisp{to{opacity:.5;transform:rotate(14deg)scale(.93,1.05)}}@keyframes firefly-rise{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(26px,-280px)}}.atlas-page{background:#d7e8df;padding-bottom:90px}.atlas-page:before{display:none}.atlas-world{max-width:1700px;margin:auto;padding:18px 28px 0;position:relative}.atlas-heading{justify-content:space-between;align-items:center;gap:20px;height:76px;display:flex}.atlas-heading small{color:#557b72;font-size:14px}.atlas-heading h1{margin:2px 0;font:800 34px KaiTi,"Noto Serif SC",serif}.chapter-tabs{background:#f1f5eccc;border:1px solid #aac9bd;border-radius:15px;gap:6px;padding:5px;display:flex}.chapter-tabs button{cursor:pointer;color:#51776b;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-width:115px;height:44px;font-size:16px;font-weight:800;display:flex}.chapter-tabs button.active{color:#fff3c5;background:#175e5e;box-shadow:0 4px 12px #17473b26}.chapter-tabs button>span{font:800 22px KaiTi,"Noto Serif SC",serif}.atlas-landscape{background:linear-gradient(#0000 45%,#123e3833),url(/assets/map-v6.webp) 50%/100% 100%;border:1px solid #88b5a5;border-radius:24px 8px;height:calc(100vh - 326px);min-height:450px;position:relative;overflow:hidden;box-shadow:0 14px 36px #163d3626}.atlas-landscape.chinese{filter:saturate(.87);background-position:50%}.atlas-landscape.raid{background-image:linear-gradient(#172c40aa,#152a35b0),url(/assets/map-v6.webp)}.atlas-path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.atlas-path polyline{fill:none;stroke:#fff2bb;stroke-width:.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;filter:drop-shadow(0 1px 2px #153b30)}.monster-art{aspect-ratio:1;background-repeat:no-repeat;background-size:400% 400%;width:100%;height:auto;display:block}.map-pin{cursor:pointer;color:#f9f5dc;z-index:3;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-width:135px;padding:4px 12px;display:flex;position:absolute;transform:translate(-50%,-50%)}.pin-monster{aspect-ratio:1;background:radial-gradient(#f7f5d9e8,#8ec6b7d9);border:2px solid #c3e4ce;border-radius:50%;width:clamp(90px,9vw,138px);transition:all .2s;display:block;position:relative;box-shadow:0 8px 16px #052e3966,inset 0 0 20px #eff9d866}.pin-monster>.monster-art{width:116%;height:116%;position:absolute;inset:-8%}.pin-monster>em{color:#fff5d2;background:#145d53;border:2px solid #fff0be;border-radius:50%;place-items:center;width:29px;height:29px;font:800 16px "Noto Serif SC",sans-serif;display:grid;position:absolute;bottom:-2px;right:1px}.map-pin>strong{white-space:nowrap;background:#113f3ee8;border-radius:8px;padding:5px 14px;font:800 20px KaiTi,"Noto Serif SC",serif;box-shadow:0 4px 10px #18393033}.map-pin>small{color:#fff7db;background:#16423fc9;border-radius:7px;padding:2px 8px;font-size:14px}.map-pin.locked .pin-monster{filter:grayscale(.65);opacity:.87;background:#9bada4e0}.map-pin.locked strong{color:#cfdbd0}.map-pin.selected .pin-monster{border:3px solid #ffe493;transform:translateY(-5px);box-shadow:0 0 0 6px #f8d57144,0 0 34px #f4df6f9c}.pin-here{color:#5a441f;background:#f0c466;border-radius:7px;padding:5px 10px;font-size:14px;font-weight:800;animation:2s ease-in-out infinite badge-float;position:absolute;top:-25px}.map-compass{letter-spacing:.3em;color:#fff7d0;text-shadow:0 1px 4px #06352f;font:18px KaiTi,"Noto Serif SC",serif;position:absolute;bottom:18px;left:22px}.atlas-choice{background:#fbf7e9;border:1px solid #b3cbbb;border-top:0;border-radius:0 0 20px 10px;align-items:center;gap:18px;min-height:108px;margin:0 16px;padding:10px 23px;display:flex;box-shadow:0 14px 24px #1e47331c}.atlas-choice>.monster-art{flex:none;width:80px}.atlas-choice h2{margin:3px 0;font:800 27px KaiTi,"Noto Serif SC",serif}.atlas-choice small{color:#667c6e;font-size:14px}.xp-reward{color:#976026;align-items:center;gap:5px;font-size:15px;display:flex}.choice-growth{width:230px;margin-left:auto;margin-right:22px}.choice-growth>span{justify-content:space-between;font-size:15px;font-weight:800;display:flex}.choice-growth b{color:#728572}.choice-growth>div{background:#dbe4d7;border-radius:5px;height:9px;margin:8px 0;overflow:hidden}.choice-growth i{background:linear-gradient(90deg,#cd9543,#ecc96a);height:100%;display:block}.atlas-choice>.primary-button{min-width:190px;height:57px;font-size:20px}.atlas-treatment{z-index:6;color:#fff5dd;background:#913e30ed;border-radius:10px;align-items:center;gap:10px;padding:9px 16px;font-size:16px;display:flex;position:absolute;top:104px;left:45px}.raid-seal{color:#ffe6a1;text-align:center;flex-direction:column;align-items:center;width:300px;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.raid-seal>.monster-art{filter:drop-shadow(0 0 25px #f8d57380);width:240px}.raid-seal h2{margin:4px 0;font:800 34px KaiTi,"Noto Serif SC",serif}.raid-seal p{font-size:17px}.bottom-dock{height:67px}.bottom-dock button{min-width:100px;font-size:14px}.folio-overlay,.combat-overlay{z-index:95;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#062a31c9;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.folio{color:#163d3c;background:#fbf7e9;border:1px solid #ebcd78;border-radius:24px 8px;width:min(820px,95vw);max-height:85vh;padding:50px 30px 30px;position:relative;overflow:auto}.folio>.back-link{margin-bottom:15px;position:static}.folio h2{font:800 32px KaiTi,"Noto Serif SC",serif}.folio-skills{grid-template-columns:1fr 1fr;gap:14px;display:grid}.folio-skills article{color:#73816f;background:#e9eee3;border:1px solid #c7d4c3;border-radius:12px;padding:19px}.folio-skills article.learned{color:#205956;background:#fcf0cd;border-color:#d9b963}.folio-skills h3{margin:6px 0;font:800 23px KaiTi,"Noto Serif SC",serif}.folio-skills p{margin:8px 0;font-size:16px}.folio-skills small{font-size:14px}.record-level{color:#a26d23;align-items:center;gap:14px;font-size:26px;display:flex}.record-level span{font-size:15px}.record-stages>p{border-bottom:1px solid #d8e0d3;justify-content:space-between;padding-bottom:12px;font-size:17px;display:flex}.combat-stage .actor.hero{mix-blend-mode:multiply}.combat-stage .hero-frame{filter:none}.combat-page{color:#eaf5e9;background:#103f42;grid-template-rows:62px minmax(260px,44vh) minmax(405px,1fr);height:100dvh;min-height:760px;display:grid;overflow:auto}.combat-header{background:#092f35;border-bottom:1px solid #628e8240;justify-content:space-between;align-items:center;padding:8px 28px;display:flex}.combat-header>span{align-items:center;gap:18px;font:800 23px KaiTi,"Noto Serif SC",serif;display:flex}.combat-header small{color:#a5c4b5;font:14px "Noto Serif SC",sans-serif}.combat-header>.icon-button{color:#d2e6d6;background:#214b4c;border-color:#49756b}.combat-stage{isolation:isolate;background:linear-gradient(#0000 55%,#032d2e66),url(/assets/battle-bg.png) 50% 64%/cover;position:relative;overflow:hidden}.combat-health{z-index:6;background:#0a393be8;border:1px solid #d2dfb866;border-radius:14px;align-items:center;gap:10px;width:min(340px,35%);padding:10px 15px;display:flex;position:absolute;top:15px;box-shadow:0 6px 18px #08272e3b}.combat-health.player{left:22px}.combat-health.enemy{right:22px}.combat-health>img,.combat-health>.monster-art{object-fit:cover;object-position:top;background-color:#c3d6bc;border-radius:50%;flex:none;width:44px;height:44px}.combat-health>div{flex:1;min-width:0}.combat-health b{justify-content:space-between;align-items:center;gap:8px;font-size:17px;display:flex}.combat-health small{color:#e9c985;white-space:nowrap;font-size:13px}.combat-hp-track{background:#061c23;border:1px solid #a2c3a260;border-radius:10px;height:13px;margin-top:7px;display:block;overflow:hidden}.combat-hp-track i{background:linear-gradient(90deg,#299681,#93dbac);height:100%;transition:width .17s;display:block}.enemy .combat-hp-track i{background:linear-gradient(90deg,#b93d34,#eeaa52)}.combat-health em{text-align:right;color:#c6d9c5;margin-top:3px;font:12px "Noto Serif SC",sans-serif;display:block}.actor{aspect-ratio:1;z-index:3;width:min(380px,34vw);height:auto;position:absolute;bottom:-6px}.actor.hero{transition:transform .11s;left:15%}.actor.monster{width:min(330px,30vw);bottom:4px;right:12%}.actor-shadow{filter:blur(5px);background:#062d3380;border-radius:50%;height:8%;position:absolute;bottom:5%;left:13%;right:13%}.hero-frame{aspect-ratio:1;filter:drop-shadow(0 8px 12px #122d2638);background-repeat:no-repeat;background-size:400% 200%;width:100%;height:100%;position:relative}.actor.monster>div{position:relative}.actor.monster .monster-art{filter:drop-shadow(0 8px 9px #15292159)}.actor.hero.pose-1,.actor.hero.pose-4{transform:translate(-12px,-3px)}.actor.hero.pose-2,.actor.hero.pose-5{transform:translate(42px,-10px)}.role-bow .actor.hero.pose-2,.role-mage .actor.hero.pose-2{transform:translate(8px,-10px)}.actor.hero.pose-6{transform:translate(-20px,3px)}.actor.hero.pose-7{filter:saturate(.6);transform:translateY(13px)}.actor.monster.vanquished{opacity:.3;filter:saturate(.3);transition:all .35s}.monster-recoil{animation:.45s monster-recoil}.monster-pounce{animation:.4s monster-pounce}.combat-fx{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fx-projectiles{width:34%;height:50px;position:absolute;top:48%;left:36%}.fx-projectiles>i{left:0;top:calc(var(--ray)*14px);width:72%;height:9px;animation:sword-flash .5s calc(var(--ray)*70ms) both;background:linear-gradient(90deg,#0000,#75f6df 20%,#fff8c4 75%,#0000);border-radius:100%;position:absolute;transform:rotate(-20deg);box-shadow:0 0 16px #82ffdc}.tier-1 .fx-projectiles>i:not(:first-child){display:none}.role-bow .fx-projectiles>i{height:5px;animation:arrow-flight .48s calc(var(--ray)*65ms) both;box-shadow:0 0 13px #eced8f}.role-mage .fx-projectiles>i{width:52px;height:52px;animation:orb-flight .55s calc(var(--ray)*60ms) both;background:radial-gradient(circle,#fffdd2 12%,#85ffe1 30%,#399cdf90 65%,#0000 72%);border-radius:50%;box-shadow:0 0 24px #68e7d5}.fx-impact{border:5px solid #b3ffdf;border-radius:50%;width:100px;height:100px;animation:.5s .18s both impact-ring;position:absolute;top:43%;right:21%;box-shadow:0 0 25px #61eac6,inset 0 0 25px #cfffd6}.tier-3 .fx-impact,.tier-4 .fx-impact{border-color:#ffe298;width:160px;height:160px;top:34%;right:18%;box-shadow:0 0 45px #ffce68,inset 0 0 45px #fce2b0}.tier-3:before,.tier-4:before{content:"";background:radial-gradient(at 70% 45%,#fce19960,#0000 65%);animation:.65s both impact-light;position:absolute;inset:0}.fx-damage,.hurt-damage{color:#ffeb93;text-shadow:0 3px 2px #704224,0 0 18px #deb846;font:900 48px "Noto Serif SC",sans-serif;animation:.85s both number-rise;position:absolute;top:26%;right:22%}.fx-spark{--angle:calc(var(--spark)*30deg);background:#fff4b7;border-radius:50%;width:8px;height:8px;animation:.65s .15s both impact-sparks;position:absolute;top:47%;right:25%;box-shadow:0 0 12px #f9ea7f}.skill-callout{text-align:center;color:#ffe4a1;background:linear-gradient(100deg,#0000,#124549f2 20%,#103b49ef 80%,#0000);border-block:1px solid #f9d98499;min-width:200px;padding:12px 24px;animation:.95s both skill-banner;position:absolute;top:27%;left:40%}.skill-callout small,.skill-callout span{letter-spacing:.13em;color:#f8e7c0;font-size:14px;display:block}.skill-callout b{text-shadow:0 0 15px #e0a660;margin:3px 0;font:800 38px KaiTi,"Noto Serif SC",serif;display:block}.counter-bolt{background:linear-gradient(90deg,#fbcd91,#e9605590,#0000);border-radius:100%;width:100px;height:20px;animation:.45s both counter-flight;position:absolute;top:52%;right:34%;box-shadow:0 0 20px #f6a160}.hurt-damage{color:#ff987b;text-shadow:0 2px #602b2d;left:24%;right:auto}.seal-instruction,.wave-banner{z-index:7;color:#ffe9aa;background:#123c36e8;border-radius:11px;padding:8px 18px;font-size:15px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.wave-banner{align-items:center;gap:10px;font:800 25px KaiTi,"Noto Serif SC",serif;display:flex;top:42%;box-shadow:0 10px 30px #092f3080}.wave-banner>span{color:#c5e7d3;font:14px "Noto Serif SC",sans-serif}.training-deck{z-index:10;background:linear-gradient(#133e41,#082f36);flex-direction:column;gap:12px;padding:0 25px 14px;display:flex;position:relative}.training-metrics{background:#0d363acc;border-bottom:1px solid #95b9a533;justify-content:center;align-items:center;gap:10px;min-height:78px;display:flex}.training-metrics .battle-metric{flex:1;justify-content:center;gap:12px;min-width:0}.training-metrics .battle-metric small{color:#b5d0bd;font-size:14px}.training-metrics .battle-metric b{color:#fff8df;font-size:32px;line-height:1.25}.training-metrics .battle-metric em{color:#b7cec1;margin-left:3px;font-size:15px}.training-metrics .battle-metric svg{color:#76ddbc;flex:none}.training-time{color:#cfdfca;align-items:center;gap:8px;min-width:110px;font-size:20px;display:flex}.practice-paper{border:1px solid #d8b95f;color:#153f3f;background:linear-gradient(95deg,#ede5be,#fff9df 45%,#f4edc9);border-inline:7px solid #c89f54;border-radius:12px;flex:1;min-height:220px;padding:0 22px;position:relative;box-shadow:0 10px 28px #041d2140,inset 0 0 25px #e3ca8326}.practice-top{color:#698173;border-bottom:1px dashed #b9bf9966;justify-content:space-between;align-items:center;gap:10px;min-height:40px;font-size:14px;display:flex}.practice-status{color:#856746}.practice-line{letter-spacing:.02em;white-space:pre;justify-content:center;align-items:center;min-height:83px;font:700 clamp(29px,3.7vw,54px)/1.55 ui-monospace,Menlo,"Noto Serif SC",monospace;display:flex}.practice-line>span{color:#7c8a79;text-align:center;min-width:.62em;position:relative}.practice-line .done{color:#18877a}.practice-line .done:after{content:"";background:#5fc1a0;height:2px;position:absolute;bottom:4px;left:10%;right:10%}.practice-line .current{color:#9d3e2c;background:#ecd88b;border-radius:5px;box-shadow:0 0 0 2px #dcb85d}.practice-line.hanzi{letter-spacing:.15em;font-family:Microsoft YaHei,"Noto Serif SC",sans-serif;font-size:clamp(26px,3.4vw,48px);font-weight:600}.practice-next{text-align:center;color:#87927d;white-space:pre;height:28px;font:16px/1.5 ui-monospace,"Noto Serif SC",monospace;overflow:hidden}.practice-controls{border-top:1px solid #b5bf9850;justify-content:space-between;align-items:center;gap:16px;min-height:55px;display:flex}.next-key{color:#667a6a;align-items:center;gap:9px;font-size:14px;display:flex}.next-key kbd{color:#24574e;background:#fffdf0;border:1px solid #c6bd97;border-bottom-width:3px;border-radius:6px;place-items:center;min-width:40px;height:34px;padding:0 6px;font-size:20px;font-weight:800;display:grid}.practice-feedback{color:#90683e;font-size:15px}.practice-controls .keyboard-capture{opacity:.01;pointer-events:none;width:2px;height:2px;position:absolute;bottom:35px;left:50%}.ime-field{color:#1f5c4a;background:#fffcec;border:1px solid #9cba9f;border-radius:7px;width:min(420px,48%);height:39px;padding:0 12px;font-size:18px}.training-skills{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.skill-tile{color:#b3cabc;background:#164448;border:1px solid #4b786e;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:38px 1fr auto;gap:2px 8px;min-height:65px;padding:10px 12px;display:grid}.skill-tile>span{color:#dec889;grid-row:1/3;place-items:center;display:grid}.skill-tile>b{font:800 21px KaiTi,"Noto Serif SC",serif}.skill-tile small{font-size:13px}.skill-tile em{color:#bfd7c0;grid-area:1/3/3;align-self:center;font-size:14px;font-style:normal}.skill-tile.active{color:#fff0c1;background:linear-gradient(110deg,#305c4c,#4c6446);border-color:#f6d478;box-shadow:inset 0 0 14px #ffe19f12}.skill-tile.locked{opacity:.5}.is-paused .combat-stage *{animation-play-state:paused!important}.combat-overlay .result-card>p:not(.eyebrow),.combat-overlay .defeat-card>p{font-size:16px}.combat-overlay .result-metrics small{font-size:14px}.combat-overlay .result-metrics b{font-size:22px}.combat-overlay .result-actions{margin-top:24px}.combat-overlay .new-skill small{font-size:14px}.combat-overlay .new-skill b{font-size:25px}.defeat-overlay{background:#241c23ba}.defeat-overlay .heal-clock>b{font-size:34px}.empty-roster{text-align:center;color:#6c8175;padding:35px;font-size:17px}.teacher-content .table-row{min-height:54px;font-size:15px}.teacher-content .table-head,.teacher-content .overview-cards small{font-size:14px}.teacher-content .overview-cards b{font-size:28px}.teacher-content .panel-heading h2{font-size:20px}.teacher-content .sync-label{font-size:14px}.teacher-content .boss-control-art p{font-size:16px}.storage-error{color:#244c41;background:#f6efdc;min-height:100vh;padding:50px}@keyframes monster-recoil{25%{filter:brightness(1.55);transform:translate(18px,-3px)rotate(4deg)}to{transform:none}}@keyframes monster-pounce{45%{transform:translate(-50px)rotate(-3deg)}}@keyframes sword-flash{0%{opacity:0;transform:translate(-30%)rotate(-25deg)scaleX(.25)}30%{opacity:1}to{opacity:0;transform:translate(50%)rotate(15deg)scaleX(1.5)}}@keyframes arrow-flight{0%{opacity:0;transform:translate(-40%)rotate(-7deg)}15%{opacity:1}to{opacity:0;transform:translate(100%)rotate(-7deg)}}@keyframes orb-flight{0%{opacity:0;transform:translate(0)scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(400%)scale(1.9)}}@keyframes impact-ring{0%{opacity:0;transform:scale(.1)}35%{opacity:1}to{opacity:0;transform:scale(1.7)}}@keyframes impact-light{25%{opacity:1}to{opacity:0}}@keyframes number-rise{0%{opacity:0;transform:translateY(10px)scale(.7)}18%,55%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-50px)scale(1.1)}}@keyframes impact-sparks{0%{opacity:0;transform:rotate(var(--angle)) translateX(0)}20%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateX(120px) scale(.1)}}@keyframes skill-banner{0%{opacity:0;transform:translate(-50px)scale(.8)}20%,70%{opacity:1;transform:none}to{opacity:0;transform:translate(20px)}}@keyframes counter-flight{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(-270%)}}@media (width>=1600px){.actor{width:420px}.actor.monster{width:365px}.practice-paper{min-height:250px}.practice-line{min-height:110px}.training-skills{margin-top:auto}.atlas-world{max-width:1800px}.atlas-landscape{min-height:560px}.pin-monster{width:145px}}@media (width<=1100px){.actor.hero{left:10%}.actor.monster{right:9%}.combat-health{width:36%}.skill-callout{left:37%}.skill-callout b{font-size:30px}.training-metrics .battle-metric b{font-size:26px}.training-time{min-width:90px;font-size:17px}.choice-growth{width:180px;margin-right:8px}.skill-tile em{display:none}.skill-tile{grid-template-columns:28px 1fr}.skill-tile>b{font-size:19px}.atlas-choice{gap:12px}.atlas-choice>.primary-button{min-width:160px}.practice-line{font-size:3.7vw}}@media (width<=760px){.atlas-world{padding:12px 10px 0}.atlas-heading{flex-direction:column;align-items:flex-start;gap:8px;height:auto;min-height:110px;padding:5px 8px 12px}.chapter-tabs{justify-content:space-between;width:100%}.chapter-tabs button{flex:1;min-width:0}.atlas-landscape{min-height:470px}.map-pin{min-width:80px;padding:0 3px}.pin-monster{width:75px}.map-pin>strong{padding:5px 8px;font-size:17px}.map-pin>small{font-size:13px}.map-pin.selected .pin-monster{transform:translateY(-2px)}.pin-here{font-size:12px}.atlas-choice{flex-wrap:wrap;gap:10px;margin:0;padding:12px}.atlas-choice>.monster-art{width:50px}.atlas-choice h2{font-size:22px}.choice-growth{width:130px;margin-left:auto;margin-right:0}.atlas-choice>.primary-button{width:100%;height:49px}.atlas-treatment{top:125px;left:20px}.atlas-page .map-topbar{height:68px;padding:8px 12px}.atlas-page .map-topbar>.unstyled-button{display:none}.atlas-page .map-topbar>.ghost-button{padding:0 9px;font-size:12px}.atlas-page .profile-chip{min-width:230px}.folio{padding:25px 18px}.folio-skills{grid-template-columns:1fr}.record-level{flex-wrap:wrap}.combat-page{grid-template-rows:60px 310px auto;height:auto;min-height:100dvh}.combat-header{padding:8px 12px}.combat-header>span{gap:8px;font-size:19px}.combat-header small{font-size:12px}.combat-header .battle-back{padding:0 8px;font-size:13px}.combat-health{width:44%;padding:6px 8px;top:10px}.combat-health.player{left:10px}.combat-health.enemy{right:10px}.combat-health>img,.combat-health>.monster-art{display:none}.combat-health b{font-size:14px}.combat-health small{font-size:12px}.actor.hero{width:240px;left:0}.actor.monster{width:200px;right:0}.training-deck{padding:0 10px 13px}.training-metrics{flex-wrap:wrap;justify-content:space-between;gap:0;min-height:110px}.training-metrics .battle-metric{gap:4px;min-width:24%;padding:6px 2px}.training-metrics .battle-metric svg{display:none}.training-metrics .battle-metric small{font-size:12px}.training-metrics .battle-metric b{font-size:24px}.training-metrics .battle-metric em{font-size:11px}.training-time{border-top:1px solid #719b8040;justify-content:flex-end;width:100%;height:28px;font-size:14px}.practice-paper{border-inline-width:4px;min-height:210px;padding:0 8px}.practice-top{font-size:12px}.practice-status{display:none}.practice-line{letter-spacing:0;min-height:77px;font-size:3.9vw}.practice-line.hanzi{font-size:4.3vw}.practice-next{font-size:13px}.practice-controls{gap:5px;min-height:65px}.practice-feedback{font-size:12px}.next-key{gap:3px;font-size:12px}.next-key kbd{min-width:26px;font-size:17px}.ime-field{width:54%;padding:0 5px;font-size:14px}.training-skills{grid-template-columns:1fr 1fr;gap:7px}.skill-tile>b{font-size:18px}.skill-tile small{font-size:12px}.skill-callout{min-width:0;padding:10px 12px;top:26%;left:32%}.skill-callout b{font-size:26px}.skill-callout small,.skill-callout span{font-size:12px}.fx-damage,.hurt-damage{font-size:34px}.seal-instruction{white-space:nowrap;font-size:12px;top:85px}.wave-banner{white-space:nowrap;font-size:18px}.wave-banner span{display:none}.actor.hero.pose-2,.actor.hero.pose-5{transform:translate(20px,-5px)}}@media (prefers-reduced-motion:reduce){.combat-stage *,.jade-light *{animation-duration:.01ms!important;animation-iteration-count:1!important}.skill-callout{animation:none!important}.fx-projectiles,.fx-impact,.fx-spark{display:none}}.combat-stage{background:#234a50}.cinema-scene{isolation:isolate;--focus:0;--lunge:0px;--lift:0px;pointer-events:none;position:absolute;inset:0;overflow:hidden}.camera-world{transform-origin:30% 63%;transform:scale(calc(1 + var(--focus)*.1));will-change:transform;position:absolute;inset:0}.cinema-background{background:url(/assets/battle-bg.png) 50% 64%/cover;position:absolute;inset:-3%}.cinema-dim{opacity:calc(var(--focus)*.9);background:radial-gradient(at 29% 63%,#0000 8%,#061725b8 65%,#030b16e8);position:absolute;inset:0}.rig-hero{aspect-ratio:1;z-index:4;width:min(470px,42vw);transform:translate(var(--lunge),var(--lift));mix-blend-mode:normal;opacity:1;will-change:transform;position:absolute;bottom:-12px;left:9%}.rig-canvas{opacity:1;mix-blend-mode:normal;filter:none;width:100%;height:100%;position:absolute;inset:0}.rig-fallback{object-fit:fill;opacity:1;width:59%;height:89%;position:absolute;top:5%;left:19%}.ground-aura{width:56%;height:7%;transform:scale(calc(1 + var(--focus)*.22));background:#073b3b80;border-radius:50%;position:absolute;bottom:4%;left:23%;box-shadow:0 0 16px #64d9ae60,inset 0 0 12px #5fe6c299}.cinema-monster{aspect-ratio:1;z-index:3;width:min(340px,31vw);transition:opacity .5s;position:absolute;bottom:10px;right:12%}.cinema-monster .monster-art{filter:drop-shadow(0 10px 8px #102e2860);width:100%;display:block}.cinema-monster>div{transform-origin:55% 88%;width:100%;height:100%;animation:2.5s ease-in-out infinite monster-breathe}.monster-ground{filter:blur(6px);background:#062a3290;border-radius:50%;height:8%;position:absolute;bottom:3%;left:10%;right:10%}.cinema-monster.defeated{opacity:.25}.cinema-monster>div.cinema-recoil{animation:.58s both contact-recoil}.cinema-monster>div.cinema-pounce{animation:.52s both enemy-lunge}.cinema-vignette{z-index:10;opacity:var(--focus);pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 90px 20px #040e1abd}.cinema-bar{z-index:11;height:16px;transform:scaleY(var(--focus));background:#07131c;position:absolute;left:0;right:0}.cinema-bar.top{transform-origin:top;top:0}.cinema-bar.bottom{transform-origin:bottom;bottom:0}.combat-health{z-index:15}.combat-stage .seal-instruction,.combat-stage .wave-banner{z-index:16}.sequence-effects,.contact-effects{z-index:6;pointer-events:none;--hit-delay:.25s;--launch-delay:.15s;--travel:.1s;position:absolute;inset:0}.sequence-effects.special{--hit-delay:.96s;--launch-delay:.7s;--travel:.26s}.charge-halo{opacity:0;background:radial-gradient(#0000 40%,#5be0c847 53%,#0000 67%);border:2px solid #aeffe1;border-radius:50%;width:210px;height:210px;animation:.7s both charge-focus;position:absolute;bottom:12%;left:calc(29% - 105px);transform:scale(.6);box-shadow:0 0 25px #77edc7,inset 0 0 25px #97eccc}.normal .charge-halo{width:90px;height:90px;animation-duration:.15s;left:27%}.special .charge-halo:before,.special .charge-halo:after{content:"";border:1px solid #f9df9ec9;border-radius:50%;position:absolute;inset:-22px;transform:rotateX(64deg);box-shadow:0 0 14px #c6fbd7}.special .charge-halo:after{inset:-42px;transform:rotateY(55deg)}.technique-title{z-index:8;color:#fff5ce;text-align:center;transform-origin:50%;filter:drop-shadow(0 4px 4px #071820);min-width:280px;animation:1.68s both technique-reveal;position:absolute;top:25%;left:39%}.technique-title:before{content:"";z-index:-1;background:linear-gradient(95deg,#0000,#051d2cec 20%,#051d2cf7 75%,#0000);border-block:1px solid #dabb75b3;position:absolute;inset:-16px -70px;transform:skew(-14deg)}.technique-title strong{letter-spacing:.13em;text-shadow:0 0 26px #f4c77c88;white-space:nowrap;font:900 clamp(35px,4.6vw,70px)/1.3 STKaiti,KaiTi,"Noto Serif SC",serif;display:block}.technique-title small{letter-spacing:.4em;color:#edd098;margin-bottom:7px;font-size:15px;display:block}.technique-title>span{letter-spacing:.25em;color:#d9f2e9;font-size:15px}.attack-trail{opacity:0;animation:trail-window calc(var(--travel) + .24s) var(--launch-delay) both;position:absolute;inset:0}.attack-trail i{transform-origin:100%;width:40%;height:14px;animation:blade-sweep calc(var(--travel) + .1s) var(--launch-delay) both;background:linear-gradient(90deg,#0000,#5df9d7 15%,#fffbc4 75%,#c6fff5);border-radius:100%;position:absolute;top:48%;left:33%;box-shadow:0 0 25px #68fbd5,0 0 55px #62eab870}.attack-trail i:nth-child(2){top:55%;transform:rotate(-22deg)}.attack-trail i:nth-child(3){top:42%;transform:rotate(20deg)}.attack-trail i:nth-child(4){height:6px;top:38%}.attack-trail i:nth-child(5){height:6px;top:65%}.normal .attack-trail i:not(:first-child){display:none}.role-bow .attack-trail i{clip-path:polygon(0 20%,87% 20%,87% 0,100% 50%,87% 100%,87% 80%,0 80%);height:5px;animation:arrow-streak calc(var(--travel) + 70ms) var(--launch-delay) both;background:linear-gradient(90deg,#0000,#ffe5a0 40%,#fffde7)}.role-mage .attack-trail i{width:95px;height:95px;animation:spirit-flight calc(var(--travel) + .11s) var(--launch-delay) both;background:radial-gradient(circle,#fffde2 7%,#b9ffed 22%,#7ce9f099 45%,#0000 68%);border-radius:50%;top:44%;left:33%;box-shadow:0 0 28px #a2ebff}.role-mage .attack-trail i:nth-child(2){width:60px;height:60px;top:32%}.role-mage .attack-trail i:nth-child(3){width:60px;height:60px;top:62%}.role-mage .attack-trail i:nth-child(n+4),.power-2 .attack-trail i:nth-child(n+4){display:none}.power-3 .attack-trail{filter:drop-shadow(0 0 15px #8deaff)}.power-4 .attack-trail{filter:drop-shadow(0 0 22px #ffe394);transform:scaleY(1.35)}.power-4 .charge-halo{border-color:#ffdc8c;box-shadow:0 0 40px #ffc575,inset 0 0 40px #ffdaa2}.power-4 .technique-title strong{color:#ffe5a0}.contact-effects{z-index:7;--impact-x:73%;--impact-y:58%}.contact-effects.hurt{--impact-x:29%;--impact-y:60%}.contact-ring{left:var(--impact-x);top:var(--impact-y);border:7px solid #fff5bf;border-radius:50%;width:130px;height:130px;margin:-65px;animation:.46s both contact-ring;position:absolute;box-shadow:0 0 24px #edc47b,inset 0 0 25px #a2f6d9}.contact-cut{left:calc(var(--impact-x) - 70px);top:calc(var(--impact-y) - 110px);filter:drop-shadow(0 0 10px #f9e293);background:linear-gradient(135deg,#0000 45%,#fffef5 48%,#fff9c0 51%,#0000 56%);width:140px;height:220px;animation:.3s both contact-cut;position:absolute}.contact-flare{background:radial-gradient(ellipse at var(--impact-x) var(--impact-y),#fff2c47d,transparent 50%);animation:.26s both contact-light;position:absolute;inset:0}.contact-particle{left:var(--impact-x);top:var(--impact-y);--angle:calc(var(--i)*25.7deg);background:#fff0b9;border-radius:4px;width:5px;height:14px;animation:.65s both contact-fragment;position:absolute;box-shadow:0 0 11px #ffe79d}.contact-damage{left:calc(var(--impact-x) - 50px);top:calc(var(--impact-y) - 110px);color:#fff2ad;text-shadow:0 4px #734022,0 0 15px #ab721e;font:900 49px/1 "Noto Serif SC",sans-serif;animation:.9s both contact-number;position:absolute}.heavy .contact-ring{border-width:10px;width:200px;height:200px;margin:-100px}.heavy .contact-damage{color:#fff5cc;font-size:66px}.hurt .contact-damage{color:#ffab93}.hurt .contact-cut{display:none}.ground-dust{left:calc(var(--impact-x) - 95px);background:radial-gradient(#efdb9cb3,#0000 70%);border-radius:50%;width:190px;height:45px;animation:.65s both ground-dust;position:absolute;bottom:2%}.is-paused .cinema-scene *{animation-play-state:paused!important}@keyframes monster-breathe{50%{transform:translateY(-3px)scaleY(1.016)}}@keyframes contact-recoil{0%{filter:brightness(3)saturate(.2);transform:translate(0)}14%{filter:brightness(2.2);transform:translate(12px,-5px)rotate(4deg)scaleX(.95)}26%{filter:brightness(1.6);transform:translate(12px,-5px)rotate(4deg)scaleX(.95)}50%{filter:brightness();transform:translate(43px,-12px)rotate(8deg)}75%{transform:translate(14px)rotate(-3deg)}to{filter:none;transform:none}}@keyframes enemy-lunge{22%{transform:translate(15px)scaleX(.93)}48%{transform:translate(-95px,-8px)rotate(-8deg)}to{transform:none}}@keyframes charge-focus{0%{opacity:0;transform:scale(1.35)}35%{opacity:.9}80%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(.4)}}@keyframes technique-reveal{0%,11%{opacity:0;transform:translate(-40px)scale(1.15)}21%,39%{opacity:1;transform:none}47%{opacity:0;transform:translate(80px)scale(.94)}to{opacity:0}}@keyframes trail-window{0%{opacity:0}12%,65%{opacity:1}to{opacity:0}}@keyframes blade-sweep{0%{transform:translate(-85px)rotate(-50deg)scaleX(.2)}55%{transform:rotate(16deg)scaleX(1.08)}to{transform:translate(25px)rotate(35deg)scaleX(.75)}}@keyframes arrow-streak{0%{transform:translate(-120px)scaleX(.3)}75%,to{transform:translate(15px)scaleX(1.1)}}@keyframes spirit-flight{0%{transform:translate(0)scale(.4)}70%{transform:translate(28vw)scale(1.2)}to{transform:translate(32vw)scale(.7)}}@keyframes contact-ring{0%{opacity:1;transform:scale(.25)}28%{opacity:1}to{opacity:0;transform:scale(1.6)}}@keyframes contact-cut{0%{opacity:1;transform:scale(.5)}30%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(1.4)}}@keyframes contact-light{0%{opacity:.85}to{opacity:0}}@keyframes contact-fragment{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scale(1.5)}to{opacity:0;transform:rotate(var(--angle)) translateY(-150px) scale(.1)}}@keyframes contact-number{0%{opacity:0;transform:translateY(10px)scale(1.7)}13%,45%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-48px)scale(.85)}}@keyframes ground-dust{0%{opacity:0;transform:scale(.3)}20%{opacity:.8}to{opacity:0;transform:scale(2.1)}}@media (width<=760px){.rig-hero{width:300px;bottom:-5px;left:0}.cinema-monster{width:215px;right:0}.technique-title{min-width:0;top:28%;left:32%}.technique-title strong{font-size:35px}.technique-title small,.technique-title>span{font-size:12px}.contact-damage{font-size:36px}.heavy .contact-damage{font-size:43px}.charge-halo{width:140px;height:140px;left:14%}.cinema-bar{height:10px}}@media (prefers-reduced-motion:reduce){.camera-world,.rig-hero{transform:none}.cinema-dim,.cinema-vignette{opacity:0}.cinema-bar,.attack-trail,.contact-particle,.contact-flare{display:none}.cinema-monster>div{animation:none!important}.technique-title{animation:1.68s both technique-reveal}.contact-damage{animation-duration:.9s}}.technique-fx{opacity:0;animation:tech-window calc(var(--travel) + .32s) var(--launch-delay) both;position:absolute;inset:0}.sword-strokes i{transform-origin:100%;width:38%;height:12px;animation:cut-single var(--travel) var(--launch-delay) both;background:linear-gradient(90deg,#0000,#7bfbd2,#fffbd6);border-radius:100%;position:absolute;top:50%;left:35%;box-shadow:0 0 20px #81f4cd}.effect-sword-2 .sword-strokes i{top:calc(35% + var(--n)*13%);background:linear-gradient(90deg,#0000,#a8fff3,#fffde4);height:8px;animation-name:cut-cross}.effect-sword-3 .sword-strokes i{background:0 0;border-right:18px solid #c0faff;border-radius:50%;width:110px;height:230px;animation-name:jade-wave;top:25%;left:35%;box-shadow:14px 0 30px #51d9ff}.effect-sword-3 i:nth-child(2){border-width:10px;height:160px;top:34%}.effect-sword-4 .sword-strokes i{transform-origin:top;background:linear-gradient(90deg,#0000,#ffd67c 20%,#fffce4 50%,#ffd67c 80%,#0000);border-radius:0 0 75% 75%;width:44px;height:95%;animation-name:heaven-cleave;top:-10%;left:calc(73% - 22px);box-shadow:0 0 45px #ffbc53}.bow-volley i{clip-path:polygon(0 25%,85% 25%,85% 0,100% 50%,85% 100%,85% 75%,0 75%);filter:drop-shadow(0 0 8px #f5d477);width:38%;height:6px;animation:volley-shot var(--travel) var(--launch-delay) both;background:linear-gradient(90deg,#0000,#fbe7ab 45%,#fffbdc);position:absolute;top:48%;left:31%}.effect-bow-2 .bow-volley i{top:calc(36% + var(--n)*12%)}.effect-bow-3 .bow-volley i{top:-20%;left:calc(57% + var(--n)*2.7%);clip-path:polygon(25% 0,75% 0,75% 85%,100% 85%,50% 100%,0 85%,25% 85%);width:5px;height:58%;animation-name:rainfall;animation-delay:calc(var(--launch-delay) + var(--n)*9ms);background:linear-gradient(#0000,#9ae7ed,#effffc)}.effect-bow-4 .bow-volley i{top:-28%;left:calc(48% + var(--n)*9%);clip-path:none;width:22px;height:73%;animation-name:starfall;animation-delay:calc(var(--launch-delay) + var(--n)*15ms);background:linear-gradient(#0000,#ff9c5980 45%,#ffe7a2 90%,#fff);border-radius:80%;box-shadow:0 5px 20px #ffbd6e}.spell-orbs i{width:85px;height:85px;animation:orb-curve var(--travel) var(--launch-delay) both;background:radial-gradient(circle,#fff8c7 10%,#ffb858 30%,#ec694390 53%,#0000 70%);border-radius:50%;position:absolute;top:47%;left:31%;box-shadow:0 0 25px #ec965764}.effect-mage-2 .spell-orbs i{top:calc(30% + var(--n)*11%);background:radial-gradient(circle,#fffdeb 10%,#a4fff3 30%,#43aee990 57%,#0000 70%);width:50px;height:50px;animation-name:stream-curve;box-shadow:0 0 25px #67cbea}.thunder-field{animation:thunder-strike calc(var(--travel) + .18s) var(--launch-delay) both;position:absolute;inset:0}.thunder-field svg{filter:drop-shadow(0 0 10px #a8afff);width:100%;height:100%;overflow:visible}.thunder-field polyline{fill:none;stroke:#ece5ff;stroke-width:1.2px;stroke-linejoin:bevel}.thunder-field polyline:first-child{stroke-width:2.4px;stroke:#fff}.nova-field{width:210px;height:210px;animation:nova-unfold calc(var(--travel) + .24s) var(--launch-delay) both;position:absolute;top:calc(58% - 105px);left:calc(73% - 105px)}.nova-field i{border:5px solid #f6dd9e;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 25px #eaa258,inset 0 0 25px #ddba79}.nova-field i:nth-child(2){border-color:#c8a5ff;inset:20px;transform:rotateX(55deg)}.nova-field i:nth-child(3){border-color:#99faec;inset:20px;transform:rotateY(55deg)}.nova-field b{background:radial-gradient(circle,#fffcec 15%,#f8cf82 45%,#bb79e766 70%,#0000);border-radius:50%;position:absolute;inset:25%;box-shadow:0 0 45px #ffd6b5}.armor-tier-1 .ground-aura{box-shadow:0 0 20px #81d5f0,inset 0 0 12px #70e9e2}.armor-tier-2 .ground-aura{border:1px solid #f6d07a;box-shadow:0 0 28px #fce5a0,inset 0 0 15px #f9cc71}.practice-feedback.input-warning{color:#a33e27;max-width:55%;font-weight:700;line-height:1.5}.equipment-unlock{background:#fff4cf;border:1px solid #c99c43;border-radius:12px;justify-content:center;align-items:center;gap:15px;margin:10px 0;padding:8px;display:flex}.equipment-unlock img{object-fit:contain;width:65px;height:100px}.equipment-unlock small{color:#887245;display:block}.equipment-unlock b{color:#856126;font-size:23px}@keyframes tech-window{0%{opacity:0}10%,70%{opacity:1}to{opacity:0}}@keyframes cut-single{0%{transform:rotate(-38deg)scaleX(.1)}to{transform:rotate(12deg)scaleX(1.08)}}@keyframes cut-cross{0%{transform:rotate(calc(-55deg + var(--n)*25deg)) scaleX(.1)}to{transform:rotate(calc(-26deg + var(--n)*25deg)) scaleX(1.1)}}@keyframes jade-wave{0%{transform:translate(0)scale(.4)rotate(-18deg)}to{transform:translate(30vw)scale(1.2)rotate(-18deg)}}@keyframes heaven-cleave{0%{transform:translateY(-110%)rotate(-9deg)}to{transform:translateY(0)rotate(-9deg)}}@keyframes volley-shot{0%{transform:translate(-90px)scaleX(.1)}to{transform:translate(15px)scaleX(1.1)}}@keyframes rainfall{0%{transform:translateY(-80%)rotate(14deg)}to{transform:translateY(70%)rotate(14deg)}}@keyframes starfall{0%{transform:translate(-80px,-100%)rotate(-24deg)scale(.6)}to{transform:translate(25px,65%)rotate(-24deg)scale(1)}}@keyframes orb-curve{0%{transform:translateY(10px)scale(.5)}55%{transform:translate(20vw,-25px)scale(1)}to{transform:translate(36vw)scale(1.4)}}@keyframes stream-curve{0%{transform:translate(0)scale(.6)}50%{transform:translate(18vw,calc((1.5 - var(--n))*35px)) scale(1.1)}to{transform:translate(36vw,calc((1.5 - var(--n))*18px)) scale(.8)}}@keyframes thunder-strike{0%{opacity:0;transform-origin:top;transform:scaleY(.1)}25%,55%{opacity:1;transform-origin:top;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes nova-unfold{0%{transform:scale(.05)rotate(-55deg)}45%{transform:scale(.75)rotate(0)}to{transform:scale(1.7)rotate(35deg)}}@media (prefers-reduced-motion:reduce){.technique-fx{display:none}}.welcome-copy h1{white-space:nowrap;letter-spacing:.04em;font-size:clamp(32px,4vw,64px)}.welcome-copy h1 em{white-space:nowrap;letter-spacing:.06em;font-size:.83em}.jade-keyboard{color:#dfebda;-webkit-user-select:none;user-select:none;background:#123f3e;border:1px solid #c0a363;border-radius:12px;width:min(880px,96%);margin:auto auto 12px;padding:10px 18px 14px;box-shadow:0 6px 18px #173e3c25}.practice-paper{flex-direction:column;display:flex}.practice-line,.practice-top,.practice-controls{flex-shrink:0}.jade-keyboard{margin-top:8px}.keyboard-caption{letter-spacing:.15em;color:#e7ca86;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.keyboard-caption small{color:#a4c2b5;letter-spacing:0;font-size:11px}.keyboard-row{justify-content:center;gap:5px;margin-top:5px;display:flex}.keyboard-row kbd{background:#245550;border:1px solid #4d7970;border-bottom:3px solid #082d2d;border-radius:4px;flex:1;place-items:center;min-width:0;height:29px;font:12px system-ui,"Noto Serif SC",sans-serif;transition:background 60ms,transform 60ms;display:grid}.keyboard-row kbd.wide-key{flex:1.7}.keyboard-row kbd.space-key{flex:8}.keyboard-row kbd.expected{color:#fff7cf;background:#6c6735;border-color:#e9bc55}.keyboard-row kbd.pressed{color:#153c35;background:#8eedcb;border-color:#d1ffe8;transform:translateY(2px);box-shadow:0 0 14px #6aebba}.cloud-alert{z-index:500;color:#f8eccd;background:#062f30ed;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cloud-alert>div{text-align:center;max-width:520px}.cloud-alert p{margin:18px 0}.teacher-login{color:#f7edcf;background:linear-gradient(#092f34c9,#092f34e8),url(/assets/battle-bg.png) 50%/cover;place-items:center;min-height:100dvh;display:grid}.teacher-login form{background:#123d3e;border:1px solid #9f9862;border-radius:18px;width:min(440px,90vw);padding:36px}.teacher-login input{color:#163f3b;background:#fff9df;border:1px solid #6d9d8d;border-radius:6px;width:100%;margin:12px 0 22px;padding:12px;display:block}.teacher-login h1{margin:24px 0}.teacher-error{color:#ffb4a0}.class-nav{gap:5px;margin:24px 0;display:grid}.class-nav button{justify-content:space-between;font-size:14px;display:flex;padding:10px!important}.class-nav small{opacity:.7}.cloud-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}.cloud-table th,.cloud-table td{text-align:left;border-bottom:1px solid #d3ddd3;padding:17px 14px}.cloud-table th{color:#5c786b;font-size:12px}.table-scroll{overflow:auto}.cloud-toolbar{flex-wrap:wrap;gap:10px;display:flex}.stats-note{color:#6b7f72;padding:16px;font-size:12px;line-height:1.7}.demo-banner{z-index:150;color:#173f3d;background:#f5e4b7;border-radius:8px;padding:9px 15px;position:fixed;bottom:15px;right:20px;box-shadow:0 2px 12px #0003}@media (height<=800px){.keyboard-row kbd{height:24px}.jade-keyboard{padding:7px 12px}.practice-line{min-height:70px!important;padding:10px!important}.practice-next{min-height:18px!important}}@media (width>=761px) and (height<=850px){.combat-page{grid-template-rows:48px minmax(210px,30vh) minmax(460px,1fr);min-height:720px}.training-deck{gap:7px;padding-bottom:8px}.training-metrics{min-height:54px}.training-metrics .battle-metric b{font-size:26px}.practice-top{min-height:28px;font-size:12px}.practice-controls{min-height:42px}.practice-next{height:18px}.keyboard-row kbd{height:23px}.jade-keyboard{margin-bottom:8px;padding:7px 12px}.skill-tile{min-height:50px;padding:6px 10px}.practice-line{min-height:70px}}@media (width<=700px){.jade-keyboard{padding:7px}.keyboard-row{gap:3px}.keyboard-row kbd{height:26px;font-size:10px}.keyboard-caption small{font-size:9px}.welcome-copy h1{font-size:clamp(28px,7.6vw,45px)}.teacher-sidebar .class-nav{grid-template-columns:repeat(2,1fr)}.cloud-table th,.cloud-table td{padding:12px 8px}}.name-entry,.student-panel{color:#193f3a;background:radial-gradient(at 100% 0,#29766b33,#0000 60%),#edf1dc;min-height:100dvh;padding:24px max(24px,50vw - 680px) 50px}.name-entry>header,.student-panel>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;display:flex}.name-entry-body .entry-heading{margin:20px 0 30px}.name-entry-body .entry-heading h1{font-size:36px}.name-layout{grid-template-columns:1.05fr 1fr;gap:24px;display:grid}.paper-panel{background:#fffbed;border:1px solid #c4b789;border-radius:16px;padding:24px;box-shadow:0 8px 28px #163f3510}.paper-panel h2{margin:0 0 16px}.paper-panel p{margin:12px 0;line-height:1.7}.name-entry label,.admin-modal label{margin:16px 0;font-size:16px;display:block}.name-entry input,.name-entry select,.admin-modal input:not([type=checkbox]),.admin-modal select,.admin-modal textarea,.teacher-v10 select{color:#21443d;background:#fffef6;border:1px solid #8fa898;border-radius:7px;width:100%;margin-top:8px;padding:12px;font:16px inherit}.name-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-height:480px;padding:8px 2px;display:grid;overflow:auto}.name-grid button{color:#173e36;background:#f4f3e4;border:1px solid #c8d4be;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 5px;font-size:16px;display:flex}.name-grid button small{color:#5d7b6f;font-size:12px}.name-grid button.selected,.mini-roles button.selected{color:#fff6d8;background:#174e46;border-color:#d5b356;box-shadow:0 0 0 2px #d5b356}.entry-account h2{justify-content:space-between;font-size:30px;display:flex}.entry-account h2 small{color:#78907c;font-size:14px}.mini-roles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mini-roles button{color:#274d43;background:#e6edde;border:1px solid #aebba2;border-radius:12px;padding:10px 5px}.mini-roles img{object-fit:contain;width:100%;height:160px}.mini-roles b{font-size:14px}.choose-name-empty{text-align:center}.choose-name-empty img{object-fit:contain;max-width:100%;height:360px}.muted{color:#637d70;margin:16px 0;font-size:14px;line-height:1.7}.error-text{color:#922e23;background:#fae3d8;border-radius:8px;padding:12px;line-height:1.6}.success-text{color:#194b37;background:#d8efdf;padding:12px}.teacher-v10 .teacher-sidebar>.secondary-button{margin:5px 0}.teacher-v10 .class-nav{gap:2px;margin:15px 0}.teacher-v10 .class-nav button{font-size:14px;padding:8px!important}.teacher-v10 .teacher-profile{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex;position:static}.teacher-v10 .teacher-sidebar{overflow:auto}.teacher-v10 .cloud-toolbar select{width:auto;margin:0}.roster-tools{margin:20px 0}.cloud-table td button{color:#1e6b5c;cursor:pointer;padding:6px;text-decoration:underline}.inactive-row{opacity:.55}.teacher-v10 .teacher-header{gap:16px}.admin-modal{z-index:500;background:#042c30db;justify-content:center;align-items:flex-start;padding:30px;display:flex;position:fixed;inset:0;overflow:auto}.admin-modal>section{color:#193f3a;background:#fffbed;border:1px solid #bd9b58;border-radius:18px;width:min(1050px,100%);padding:36px;position:relative}.admin-modal h1{margin:16px 0;font-size:28px}.admin-modal h2,.student-panel h2{margin:22px 0 12px;font-size:23px}.modal-close{float:right}.admin-modal textarea{resize:vertical;min-height:100px}.check-label{align-items:center;gap:10px;display:flex!important}.check-label input{width:20px;height:20px}.import-preview{max-height:400px;margin:16px 0;overflow:auto}.form-pair{grid-template-columns:1fr 1fr;gap:15px;display:grid}.contributor-picker{flex-wrap:wrap;gap:6px;max-height:180px;margin:15px 0;display:flex;overflow:auto}.contributor-picker button{color:#214b3f;background:#e1e9d6;border-radius:6px;padding:8px}.contributor-picker button:disabled{opacity:.4}.contributor-row{align-items:center;gap:12px;margin:8px 0;display:flex}.contributor-row>span{min-width:80px}.contributor-row>input{margin:0!important}.contributor-row>button{color:#9b3f27;min-width:50px}.student-panel>h1{margin:28px 0;font-size:38px}.progress-summary{grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;display:grid}.progress-summary article{color:#f2f2d9;background:#144e47;border-radius:14px;padding:25px}.progress-summary small{color:#bdd8c7;font-size:16px}.progress-summary b{margin:12px 0;font-size:40px;display:block}.progress-summary em{font-size:16px;font-style:normal}.progress-summary p{font-size:14px}.growth-cards{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.growth-cards article{background:#fffbed;border:1px solid #bbbea0;border-radius:12px;padding:20px}.growth-cards h3{font-size:21px}.growth-pair{justify-content:space-between;margin:15px 0;display:flex}.growth-pair span{color:#5f7c6b;font-size:14px}.growth-pair strong{color:#1f6253;font-size:32px;display:block}.growth-verdict{color:#815b24;margin:12px 0;font-size:16px;display:block}.growth-cards small{color:#6f8069;font-size:12px;display:block}.practice-suggestion{background:#dbe7d4;border-radius:8px;padding:15px;line-height:1.6}.weak-keys{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.weak-keys>span{text-align:center;background:#f9ecce;border:1px solid #d8b574;border-radius:8px;gap:7px;min-width:86px;padding:12px;display:grid}.weak-keys kbd{color:#934930;font-size:28px}.weak-keys b{font-size:14px}.weak-keys small{color:#73816c;font-size:12px}.idea-cards{grid-template-columns:repeat(2,1fr);gap:22px;margin:25px 0;display:grid}.idea-cards article{background:#fff9e5;border:1px solid #c7ac6c;border-radius:16px;padding:25px;box-shadow:0 6px 22px #23493012}.idea-status{color:#2c7862;justify-content:space-between;font-size:14px;display:flex}.idea-status span{color:#8a723d}.idea-cards blockquote{background:#f2ecd5;border-left:3px solid #c5a362;margin:16px 0;padding:12px 16px;line-height:1.8}.idea-contributors{color:#9a6531;font-weight:700}.idea-rewards{align-items:center;gap:8px;margin:14px 0;font-size:14px;display:flex}.cosmetic-art{background-image:url(/assets/cosmetics-v10.png);background-repeat:no-repeat;background-size:200% 200%;flex-shrink:0;width:100px;height:100px;display:inline-block}.wardrobe{grid-template-columns:1fr 1.2fr;gap:30px;margin:25px 0;display:grid}.wardrobe-hero{background:radial-gradient(#c3e4c9,#0000 65%);min-height:440px;position:relative}.wardrobe-hero>img{object-fit:contain;width:100%;height:480px}.wardrobe-spirit{width:190px;height:190px;animation:4s ease-in-out infinite spirit-float;position:absolute;top:24%;left:0}.wardrobe-pendant{width:90px;height:90px;position:absolute;bottom:12%;right:12%}.wardrobe-items{grid-template-columns:1fr 1fr;gap:20px;display:grid}.wardrobe-items article{text-align:center;background:#fff8df;border:1px solid #c7b67b;border-radius:14px;padding:20px}.wardrobe-items article>.cosmetic-art{width:180px;max-width:100%;height:180px}.wardrobe-items p{min-height:70px;font-size:15px;line-height:1.6}.credit-link{color:#397766;font-size:14px;text-decoration:underline}.bottom-dock.extra-dock{max-width:820px}.bottom-dock.extra-dock button{min-width:90px}.cosmetic-title{color:#c6a252;font-size:13px}@keyframes spirit-float{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-12px)rotate(-3deg)}}@keyframes spirit-strike{0%,to{transform:translate(0)rotate(-8deg)}45%{transform:translate(35px,-15px)rotate(25deg)}}@media (width<=900px){.name-layout,.wardrobe{grid-template-columns:1fr}.growth-cards{grid-template-columns:1fr 1fr}.teacher-v10 .teacher-sidebar{position:relative}.name-grid{max-height:300px}.idea-cards{grid-template-columns:1fr}.wardrobe-hero{min-height:320px}.wardrobe-hero>img{height:350px}.admin-modal{padding:12px}.admin-modal>section{padding:20px}.bottom-dock.extra-dock{flex-wrap:wrap}.bottom-dock.extra-dock button{min-width:70px;padding:10px;font-size:13px}}@media (width<=600px){.name-entry,.student-panel{padding:15px}.name-grid{grid-template-columns:repeat(3,1fr)}.mini-roles img{height:120px}.paper-panel{padding:18px}.form-pair,.growth-cards{grid-template-columns:1fr}.progress-summary{gap:10px}.progress-summary article{padding:15px}.progress-summary b{font-size:30px}.wardrobe-items{gap:10px}.wardrobe-items article{padding:10px}.wardrobe-items article>.cosmetic-art{width:130px;height:130px}}@media (prefers-reduced-motion:reduce){.cosmetic-aura .aura-weapon,.wardrobe-spirit{animation:none}}.gender-choice{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.gender-choice>span{color:#765923;letter-spacing:.12em;font-family:"Noto Serif SC",serif}.gender-choice button{color:#395751;cursor:pointer;background:linear-gradient(135deg,#fff8d8,#e9d9a8);border:1px solid #ad8b48;border-radius:6px;padding:10px 25px;font-family:"Noto Serif SC",serif;font-size:18px;box-shadow:inset 0 0 0 3px #f5e8c0}.gender-choice button.selected{color:#fff0bc;background:linear-gradient(135deg,#1b655f,#0b363a);box-shadow:inset 0 0 0 3px #286a62,0 3px 12px #153f3b30}.gender-choice button:focus-visible{outline-offset:3px;outline:3px solid #d89b33}.wardrobe-items>.gender-choice{grid-column:1/-1;justify-content:center}.gender-choice button:disabled{opacity:.6}.name-entry,.student-panel{color:#f9efd0;background:linear-gradient(#061f2b20,#062b35a6),url(/assets/academy-v11.png) top/cover fixed;padding:24px max(28px,50vw - 680px) 64px}.name-entry>header,.student-panel>header{margin-bottom:20px}.name-entry>header .secondary-button,.student-panel>header .secondary-button{color:#f7e8b7;background:#103d42d9;border-color:#c7ad68}.entry-heading{text-shadow:0 2px 8px #062531;align-items:center;gap:20px;display:flex;margin:20px 0 26px!important}.entry-heading h1{letter-spacing:.12em;color:#fff1c9;margin:0;font-family:STKaiti,KaiTi,Noto Serif CJK SC,"Noto Serif SC",serif;line-height:1.4;font-size:clamp(32px,3.5vw,46px)!important}.entry-heading .eyebrow{color:#dbca9b;letter-spacing:.15em;margin:0 0 4px;font-size:14px}.chapter-seal{writing-mode:vertical-rl;outline-offset:4px;letter-spacing:.18em;color:#ffe9b3;background:#863d2dec;border:1px solid #e0bd76;outline:1px solid #d9ad6655;padding:12px 7px;font-family:KaiTi,"Noto Serif SC",serif;font-size:22px;box-shadow:0 3px 15px #021e2b70}.name-layout{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);align-items:start;gap:30px}.paper-panel{color:#234840;background:linear-gradient(110deg,#e9d8ae,#fff7dc 22%,#faf0cc 80%,#deca96);border:1px solid #cbae69;border-radius:3px;padding:25px;position:relative;box-shadow:0 14px 40px #00151f65,inset 0 0 0 5px #fbf0ce,inset 0 0 0 6px #b7a571}.name-roster{border-top:7px solid #b58a40;border-bottom:7px solid #b58a40}.scroll-heading{letter-spacing:.05em;align-items:center;gap:12px;font-family:KaiTi,STKaiti,Noto Serif CJK SC,"Noto Serif SC",serif;font-size:23px;display:flex;margin:0 0 16px!important}.scroll-heading em{color:#a75734;border:1px solid #b99858;padding:4px 7px;font-size:20px;font-style:normal}.grade-tabs{border-bottom:1px solid #b8a575;flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.grade-tabs button{color:#34554a;border:1px solid #0000;flex:1;min-width:72px;padding:10px 6px;font-size:18px;font-weight:700}.grade-tabs button.selected{color:#f6e4b4;background:#20564d;border-color:#bca25c;box-shadow:inset 0 0 0 3px #20564d,inset 0 0 0 4px #c8b170}.class-tiles{flex-wrap:wrap;gap:8px;margin:14px 0 24px;display:flex}.class-tiles button{color:#385b4e;background:#f9edc7;border:1px solid #b9aa7b;border-radius:2px;flex:90px;padding:9px 8px;font-size:16px;line-height:1.5}.class-tiles button.selected{color:#fff0c4;background:#2f6253;border-color:#276252;box-shadow:inset 0 -3px #d1b978}.class-tiles button:hover,.name-grid button:hover{border-color:#88743b;transform:translateY(-1px)}.name-search-row{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;display:flex}.name-search-row .scroll-heading{white-space:nowrap;flex:1;margin:0!important}.name-entry .name-search-row input{background:#fff9e7;border:1px solid #aa9a68;border-radius:2px;flex:0 190px;width:160px;margin:0;padding:10px 12px;font-size:16px}.name-grid{scrollbar-color:#a99461 #eaddb6;scrollbar-width:thin;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-height:390px;padding:5px 5px 14px}.name-grid button{background:linear-gradient(#fff9e4,#ebddb4);border:1px solid #c5b581;border-bottom:3px solid #b5a477;border-radius:3px;gap:5px;padding:11px 4px 13px;transition:transform .15s,border-color .15s;position:relative;box-shadow:0 2px 4px #5f4c2412}.name-grid button small{color:#6e765d;font-size:13px;line-height:1.4}.name-grid button b{letter-spacing:.03em;overflow-wrap:anywhere;font-size:19px;line-height:1.5}.name-grid button.selected{color:#fff3cc;background:linear-gradient(#32685a,#194b42);border-color:#ffe8a4;box-shadow:0 0 0 2px #d3ac51}.name-grid button.selected small{color:#e4d3a0}.entry-account{color:#fff0ca;text-align:center;background:linear-gradient(140deg,#174b4ddd,#123b41e8);border-color:#ba9b57;padding:24px 22px 18px;box-shadow:0 15px 35px #001c27a0,inset 0 0 0 5px #16454a,inset 0 0 0 6px #b69f6555}.identity-heading .eyebrow{color:#d6c795;margin:0;font-size:14px}.identity-heading h2{letter-spacing:.08em;color:#ffeac0;justify-content:center;align-items:center;gap:18px;margin:7px 0 0;font-family:KaiTi,STKaiti,"Noto Serif SC",serif;font-size:30px;display:flex}.entry-account h2 small{color:#dece9d;letter-spacing:0;font-family:inherit;font-size:16px}.entry-portrait{isolation:isolate;background:radial-gradient(at 50% 60%,#78b39425,#0000 66%);height:340px;margin:6px -8px 12px;position:relative}.entry-portrait>img{object-fit:contain;filter:drop-shadow(0 10px 16px #08293180);width:100%;height:100%}.portrait-caption{background:linear-gradient(90deg,#0000,#103637eb 20% 80%,#0000);justify-content:center;align-items:center;gap:16px;padding:12px 8px;display:flex;position:absolute;bottom:4px;left:0;right:0}.portrait-caption b{letter-spacing:.08em;font-size:19px}.portrait-caption span{color:#cfca9e;font-size:14px}.role-choices{gap:8px;margin:16px 0;display:flex}.role-choices button{color:#e6dab6;background:#163e40;border:1px solid #789585;border-radius:2px;flex:1;padding:12px 5px}.role-choices b{font-size:17px;line-height:1.5;display:block}.role-choices small{color:#b2c4ae;font-size:14px}.role-choices button.selected{background:#2c6459;border-color:#efd78c;box-shadow:inset 0 -3px #caa553}.entry-account .primary-button{letter-spacing:.08em;color:#233e35;background:linear-gradient(#f1d99b,#c5a15b);border:1px solid #ffe9b6;justify-content:center;min-height:54px;font-size:20px;box-shadow:0 5px 14px #082a34aa}.entry-account .primary-button:disabled{opacity:.55;cursor:default}.entry-account .identity-check{color:#dfd1a6;margin:12px 0 0;font-size:14px;line-height:1.6}.student-panel>p,.student-panel>.muted{color:#e1d9b9;font-size:16px;line-height:1.8}.student-panel>h2{color:#ffe7af;border-left:3px solid #cfb169;padding-left:16px;font-family:KaiTi,STKaiti,"Noto Serif SC",serif}.student-panel .empty-roster{color:#eddfb4;background:#103e43cf;border:1px solid #bba164;padding:30px}.student-panel .progress-summary article{background:linear-gradient(120deg,#153f43ed,#296451e8);border:1px solid #b3a065;border-radius:3px;box-shadow:inset 0 0 0 5px #123f4330,0 10px 24px #07293366}.student-panel .growth-cards article{color:#28483d;background:linear-gradient(135deg,#fff5d4,#e8d8a9);border-color:#d1b877;border-radius:3px;box-shadow:0 8px 20px #062b3866}.student-panel .growth-cards h3{font-family:KaiTi,"Noto Serif SC",serif}.student-panel .practice-suggestion{color:#254e43;background:#f2e6bb;border-left:4px solid #bd8c44;border-radius:2px}.student-panel .weak-keys>span{border-radius:2px;box-shadow:0 4px 12px #062b3866}.student-panel .table-scroll{color:#254b41;background:#faf0d5;border:1px solid #c6ad70;padding:10px}.idea-cards{align-items:start;gap:32px;margin:28px 0}.idea-cards .idea-scroll{color:#304e41;background:linear-gradient(100deg,#dcc790,#fff3cf 10% 90%,#dcc790);border:7px solid #967438;border-left:1px solid #b99d5e;border-right:1px solid #b99d5e;border-radius:2px;padding:26px 30px;position:relative;box-shadow:0 14px 32px #041e2970,inset 0 0 0 6px #e6d8b0}.scroll-index{letter-spacing:.22em;color:#8b7039;margin-bottom:20px;font-size:14px;display:block}.idea-status{color:#9c4635;align-items:center;font-family:KaiTi,STKaiti,"Noto Serif SC",serif;font-size:19px;font-weight:700}.idea-status span{color:#7c714d;font-family:inherit;font-size:15px}.idea-scroll h2{letter-spacing:.05em;color:#234d42;overflow-wrap:anywhere;margin:18px 0 12px;font-family:KaiTi,STKaiti,Noto Serif CJK SC,"Noto Serif SC",serif;font-size:29px;line-height:1.5}.idea-scroll blockquote{white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:1px solid #c6b587;border-left:0;border-right:0;padding:17px 0;font-size:17px;line-height:1.95}.idea-contributors{color:#8e4d31;overflow-wrap:anywhere;font-size:17px;line-height:1.7}.idea-scroll>p{font-size:16px;line-height:1.7}.idea-rewards{border-top:1px solid #d3bf8b;flex-wrap:wrap;padding-top:10px}.idea-rewards .cosmetic-art{width:50px;height:65px}.idea-rewards>span:not(.cosmetic-art){font-size:15px}.empty-chronicle{text-align:center;grid-column:1/-1;justify-self:center;width:100%;max-width:760px;min-height:350px;padding:35px}.empty-chronicle>.cosmetic-art{width:120px;height:120px}.empty-chronicle h2{font-family:KaiTi,"Noto Serif SC",serif;font-size:30px}.empty-chronicle p{font-size:18px}.empty-chronicle>span:last-child{color:#956339;line-height:2}.wardrobe{align-items:stretch}.wardrobe-hero{background:radial-gradient(at 50% 55%,#b3d39340,#0000 60%),linear-gradient(#113f4140,#092f35b3);border:1px solid #c0a367;border-radius:3px;min-height:510px}.wardrobe-hero>img{filter:drop-shadow(0 10px 20px #001e2b88);height:470px;padding:15px}.wardrobe-name{background:#10373fd9;border-top:1px solid #ae97654d;justify-content:center;align-items:center;gap:18px;padding:14px;display:flex}.wardrobe-name b{color:#ffe5a7;font-family:KaiTi,"Noto Serif SC",serif;font-size:25px}.wardrobe-name span{color:#d4c49a;font-size:15px}.wardrobe-items{align-content:center}.wardrobe-items article{color:#294e40;background:linear-gradient(120deg,#f6e8bc,#fffae2,#e9d9a4);border:1px solid #b99e5f;border-radius:3px;box-shadow:0 10px 26px #062c3680,inset 0 0 0 5px #cdbb8422}.wardrobe-items article>.cosmetic-art{aspect-ratio:1;background-size:200% 200%;width:min(100%,200px);max-width:200px;height:auto}.wardrobe-items h2{font-family:KaiTi,"Noto Serif SC",serif;font-size:26px}.wardrobe-items .primary-button{justify-content:center;width:100%;min-height:48px}.wardrobe-items .primary-button:disabled{opacity:.5}.name-entry button:focus-visible,.student-panel button:focus-visible{outline-offset:3px;outline:3px solid #efc45e}.name-entry input:focus-visible{outline-offset:2px;outline:2px solid #b38e3d}@media (width<=1100px){.name-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:20px}.name-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.paper-panel{padding:20px}.entry-portrait{height:310px}.name-entry,.student-panel{padding-left:24px;padding-right:24px}}@media (width<=760px){.name-layout,.wardrobe{grid-template-columns:1fr}.name-entry,.student-panel{background-attachment:scroll;padding:16px 16px 40px}.name-entry>header,.student-panel>header{gap:10px}.name-entry .name-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:300px}.entry-account{margin-top:4px}.entry-portrait{height:300px}.entry-heading{gap:16px}.entry-heading .eyebrow{letter-spacing:0;font-size:13px}.idea-cards{grid-template-columns:1fr}.idea-cards .idea-scroll{padding:24px}.wardrobe-hero{min-height:0}.wardrobe-hero>img{height:390px}.wardrobe-items,.student-panel .progress-summary{grid-template-columns:1fr 1fr}.name-search-row input{flex:1!important;width:100%!important}.name-search-row .scroll-heading{flex-basis:100%}.portrait-caption{bottom:0}}@media (width<=420px){.name-entry .name-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grade-tabs button{font-size:16px}.wardrobe-items{grid-template-columns:1fr}.role-choices b{font-size:15px}.entry-heading h1{letter-spacing:.03em}}.name-entry .brand-lockup,.student-panel .brand-lockup{color:#ffedbf}.name-entry .brand-lockup small,.student-panel .brand-lockup small{color:#c5caaa;letter-spacing:.06em;font-size:12px}.admin-modal{background:linear-gradient(#062c33bb,#06242edb),url(/assets/academy-v11.png) 50%/cover}.admin-modal>section{border-top:6px solid #b9934f;border-radius:3px;box-shadow:inset 0 0 0 5px #f8ebc8,inset 0 0 0 6px #c1a66a,0 20px 65px #02161db3}.admin-modal h1{letter-spacing:.06em;font-family:KaiTi,STKaiti,"Noto Serif SC",serif;font-size:30px}.teacher-v10 .teacher-content{background:linear-gradient(#edf0e9f0,#e7eadff5),url(/assets/academy-v11.png) 50%/cover fixed}.teacher-v10 .teacher-header h1{font-family:KaiTi,STKaiti,"Noto Serif SC",serif}.teacher-v10 .idea-cards .idea-scroll{box-shadow:0 8px 20px #183f3420}@media (width<=600px){.name-entry .brand-lockup small,.student-panel .brand-lockup small{display:none}.name-entry .brand-lockup strong,.student-panel .brand-lockup strong{letter-spacing:.04em;font-size:17px}.name-entry>header .secondary-button,.student-panel>header .secondary-button{padding:10px;font-size:14px}}.quest-page{color:#f4ecd6;background:#0a282e;min-height:100vh;padding-bottom:50px}.quest-nav{background:#09282e;border-bottom:1px solid #a8b59133;justify-content:space-between;align-items:center;padding:16px 4%;display:flex}.coin-purse{color:#f8d38a;border:1px solid #ccab64;border-radius:30px;padding:10px 20px;font-weight:700}.quest-tabs{background:#123b3b;justify-content:center;gap:28px;padding:16px;display:flex}.quest-tabs button{border-bottom:2px solid #0000;padding:8px 20px;font-size:18px}.quest-tabs .selected{color:#f6d08c;border-color:#edc773}.quest-banner{background:linear-gradient(90deg,#07273199,#0000 70%),url(/assets/lantern-journey-v13.png) 50% 48%/cover;align-items:center;min-height:400px;padding:45px 7%;display:flex}.quest-banner h1{letter-spacing:.14em;color:#f9dfab;margin:12px 0 20px;font-family:"Noto Serif SC",serif;font-size:clamp(44px,5vw,76px)}.quest-banner p{text-shadow:0 2px 6px #001d27;font-size:20px;line-height:1.9}.quest-banner .eyebrow,.quest-banner .quest-deadline{font-size:14px}.quest-content{max-width:1400px;margin:auto;padding:32px 4%}.quest-route-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.quest-route-head h2{color:#ebd09c;font-size:26px}.quest-route-head p{color:#bcd0c5;margin-top:8px}.quest-route-head label{gap:8px;min-width:170px;display:grid}.quest-page select,.analytics select,.analytics input{color:#f5ecd7;background:#133c3e;border:1px solid #8caf9677;border-radius:8px;max-width:100%;padding:10px}.quest-chapters{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.quest-chapters article,.assignment-grid article,.treasure-items article{background:linear-gradient(145deg,#244b46,#123435);border:1px solid #c6ad6855;border-radius:14px;padding:25px 20px;position:relative;box-shadow:0 12px 30px #0002}.quest-chapters article.complete{background:linear-gradient(145deg,#4f5538,#153c37);border-color:#e4c779}.quest-chapters article.locked{filter:saturate(.5)}.quest-chapters h2{color:#f4dbac;margin:12px 0;font:700 26px "Noto Serif SC",serif}.quest-chapters p{color:#b9ccbd;font-size:14px;line-height:1.8}.quest-chapters small{color:#c9b47b}.chapter-lantern{color:#e8c77e;background:#153d3b;border:1px solid #d4b169;border-radius:35% 35% 45% 45%;place-items:center;width:60px;height:70px;margin-bottom:20px;font:700 30px "Noto Serif SC",serif;display:grid;box-shadow:0 0 20px #e8b65215}.complete .chapter-lantern{background:#7d6838;box-shadow:0 0 26px #e8b65255}.quest-chapters ul{min-height:112px;margin:18px 0;padding:0;list-style:none}.quest-chapters li{border-top:1px solid #e3d3ac20;padding:10px 0;font-size:14px;line-height:1.6}.quest-chapters li b{color:#efd18a;font-size:12px;display:block}.quest-chapters li.done:before{content:"✓ ";color:#8aebbd}.quest-chapters button{width:100%;margin-top:12px}.chapter-bonus{font-size:12px!important}.monthly-seal{background:#253f36;border:1px solid #cbb16a77;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:24px;display:flex}.monthly-seal b{color:#f4d993;font:700 22px "Noto Serif SC",serif}.monthly-seal span{color:#bbcebf;font-size:14px}.quest-error{background:#703728;margin:20px;padding:20px}.quest-loading{text-align:center;padding:80px}.treasure-title{text-align:center;padding:20px}.treasure-title h1{color:#f3d498;margin:15px;font:700 42px "Noto Serif SC",serif}.treasure-title p{color:#bccec0}.treasure-layout{grid-template-columns:minmax(270px,1fr) 1.6fr;gap:40px;margin-top:20px;display:grid}.treasure-preview{text-align:center;background:radial-gradient(at 50% 70%,#b5954144,#0000 55%),linear-gradient(#21494766,#0d2f35),url(/assets/academy-v11.png) 50%/cover;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.treasure-preview img{object-fit:contain;max-width:100%;height:390px}.treasure-preview b{color:#ecd4a4;font-size:20px}.treasure-preview p{padding:10px}.treasure-items{grid-template-columns:1fr 1fr;gap:18px;display:grid}.treasure-items article.selected{border-color:#ffe19a}.treasure-items h2{color:#ecd4a4;margin:8px 0;font-size:23px}.treasure-items p{color:#bfd2c4;min-height:48px;font-size:14px;line-height:1.7}.treasure-items strong{color:#edd18c;margin:10px 0;display:block}.treasure-items article>div:last-child{gap:12px;display:flex}.treasure-symbol{color:#bfeaff;background:radial-gradient(#accdce33,#0000);place-items:center;height:60px;font-size:32px;display:grid}.treasure-symbol.amber-weapon{color:#ffc160}.treasure-symbol.mist-robe{color:#eeb3dd}.treasure-symbol.lantern-seal{background:url(/assets/lantern-charm-v13.png) 50%/contain no-repeat;font-size:0}.assignment-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:25px;display:grid}.assignment-grid p{margin:15px 0}.target-letters{color:#edce86;font-size:27px}.analytics{color:#e9e3d0;max-width:1450px;margin:auto}.analytics-title h1{color:#eed6a3;font:700 34px "Noto Serif SC",serif}.analytics-title p{color:#b3cbc1;margin:10px 0}.analytics-filters{flex-wrap:wrap;align-items:end;gap:14px;padding:20px 0;display:flex}.analytics-filters label,.assign-form label,.campaign-settings label{color:#c5d5c7;gap:8px;font-size:13px;display:grid}.analytics-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0;display:grid}.analytics-summary article{background:#20463f;border:1px solid #bcaa6955;border-radius:12px;padding:20px}.analytics-summary small{color:#b5c8b7;display:block}.analytics-summary b{color:#f0d59b;margin-top:12px;font-size:29px;display:block}.curve-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.curve-card,.heat-panel,.profile-table,.assignment-results,.campaign-settings{background:#123734;border:1px solid #bcb57244;border-radius:12px;margin:18px 0;padding:24px}.curve-card{margin:0}.curve-card h3{color:#efd5a0;font-size:19px}.curve-card h3 small{float:right;color:#9dc3b5;font-size:13px}.curve-card svg{width:100%;margin-top:10px}.curve-card svg text{fill:#b5cfc1;font-size:13px}.chart-empty{color:#a3baac;place-items:center;height:180px;display:grid}.analytics details summary{cursor:pointer;color:#e3cd99;padding:12px 0}.analytics details p{margin:10px 0}.analytics .stats-note{color:#a9c0b4;margin:14px 0;font-size:13px;line-height:1.8}.heat-keyboard>div{justify-content:center;gap:8px;margin:8px 0;display:flex}.heat-key{color:#eef0db;background:#37514d;border:1px solid #d9dcc055;border-bottom-width:4px;border-radius:8px;min-width:54px;min-height:62px;padding:8px}.heat-key b{font:700 22px "Noto Serif SC",serif;display:block}.heat-key small{font-size:11px}.heat-key.low{background:#256959}.heat-key.medium{background:#7b6934}.heat-key.high{background:#9b4f35}.heat-key.sparse{color:#bec2b7;background:#394747}.heat-key.selected{outline-offset:1px;outline:3px solid #f6d48b}.heat-chinese{flex-wrap:wrap;gap:8px;display:flex}.heat-legend{text-align:center;color:#beccba;margin:15px;font-size:13px}.assign-form{background:#20463e;border-radius:8px;flex-wrap:wrap;align-items:center;gap:20px;padding:18px;display:flex}.assign-form b{flex:1}.profile-table h2,.assignment-results h2,.campaign-settings h2{color:#e8d09d;margin-bottom:18px;font-size:23px}.campaign-settings{flex-wrap:wrap;align-items:end;gap:20px;display:flex}.campaign-settings h2,.campaign-settings p{width:100%}.profile-table small{color:#acc6b8;display:block}.bottom-dock.extra-dock{gap:6px;width:calc(100% - 32px);max-width:1050px}.bottom-dock.extra-dock button{min-width:65px;padding:10px 8px}.analytics .cloud-table{color:#e9e3d0}.analytics .cloud-table th{color:#eed5a0}.quest-page button:disabled{opacity:.5;cursor:not-allowed}@media (width<=1050px){.quest-chapters{grid-template-columns:1fr 1fr}.curve-grid{grid-template-columns:1fr}.treasure-layout{gap:20px}.analytics-summary{grid-template-columns:1fr 1fr}}@media (width<=700px){.quest-banner{background-position:60%;min-height:330px}.quest-banner p{font-size:16px}.quest-chapters,.treasure-layout{grid-template-columns:1fr}.quest-nav .seal-logo{display:none}.quest-tabs{gap:4px}.quest-tabs button{padding:7px 10px;font-size:15px}.quest-route-head,.monthly-seal{flex-direction:column;align-items:start}.heat-key{min-width:25px;padding:4px}.heat-keyboard>div{gap:3px}.heat-key b{font-size:18px}.analytics-filters label{max-width:46%}.bottom-dock.extra-dock{justify-content:start;overflow-x:auto}.bottom-dock.extra-dock button{flex-shrink:0}.treasure-preview img{height:300px}}.coin-notice{z-index:150;color:#ffe4a4;background:#214536f5;border:1px solid #edcb79;border-radius:12px;padding:18px 28px;font-weight:700;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0006}.personal-insights{background:#133834;border:1px solid #b9ac7566;border-radius:16px;margin-bottom:30px;padding:24px}.personal-insights p{margin:16px 0}.teacher-content>.analytics{background:linear-gradient(145deg,#103936,#082d32);border-radius:16px;padding:28px;box-shadow:0 12px 30px #143c3322}.teacher-v10 .analytics select,.teacher-v10 .analytics input{color:#eee4c9;background:#153f3e;border:1px solid #668d7b;width:auto;margin:0;padding:10px}.teacher-v10 .analytics .cloud-table th{color:#ead09a;background:#20453d}.teacher-v10 .analytics .cloud-table td{color:#dce5d6;background:0 0}.teacher-v10 .analytics .cloud-table button{color:#ecd392}.teacher-v10 .analytics .cloud-table tr:hover{background:#285046}.quest-page .brand-lockup{color:#f4ddb0}.quest-page .brand-lockup small{color:#acbfa9}.quest-page .secondary-button{color:#ecddb6;background:#214a4055;border-color:#92a77c}.quest14{color:#efe2bb;background:radial-gradient(at top,#245353,#081e26 65%);min-height:100vh;padding-bottom:32px}.q14-header{background:#08262acc;border-bottom:1px solid #d4b16b44;justify-content:space-between;align-items:center;height:76px;padding:10px 4%;display:flex}.q14-header .brand-lockup{color:#f6e5bd}.q14-header .brand-lockup small{color:#bdbb99}.q14-coins{color:#edcb86;background:#203f34;border:1px solid #ac8847;border-radius:30px;padding:12px 22px}.q14-heading{justify-content:space-between;align-items:center;max-width:1580px;margin:24px auto 18px;padding:0 28px;display:flex}.q14-heading span{letter-spacing:.25em;color:#ceb579;font-size:13px}.q14-heading h1{letter-spacing:.08em;color:#f8dfab;text-shadow:0 3px 9px #0006;margin:12px 0;font:700 clamp(24px,2.6vw,40px) KaiTi,STKaiti,"Noto Serif SC",serif}.q14-heading p{color:#a8c4b7;font-size:13px}.q14-world{grid-template-columns:minmax(0,1fr) 295px;align-items:stretch;gap:22px;max-width:1580px;margin:auto;padding:0 24px;display:grid}.q14-map{background:url(/assets/quest-map-v14.png) 50%/100% 100%;border-radius:8px;min-height:590px;position:relative;overflow:hidden;box-shadow:0 20px 45px #0006}.q14-map:before{content:"";pointer-events:none;background:linear-gradient(#001a2533,#0000 22% 85%,#06232b88);position:absolute;inset:0}.q14-map-title{color:#f5dfb0;text-shadow:0 2px 7px #000;gap:10px;display:grid;position:absolute;top:20px;left:32px}.q14-map-title span{letter-spacing:.2em;font:700 35px KaiTi,"Noto Serif SC",serif}.q14-map-title small{letter-spacing:.16em;font-size:12px}.q14-marker{z-index:2;filter:drop-shadow(0 5px 6px #071d23);flex-direction:column;align-items:center;min-width:150px;transition:filter .2s,transform .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.q14-marker>span{color:#483719;background:radial-gradient(#f4d087,#8e6b30);border:2px solid #f4deb0;border-radius:50%;place-items:center;width:52px;height:52px;font:700 27px KaiTi,"Noto Serif SC",serif;display:grid;box-shadow:0 0 0 5px #ecca8555,0 0 22px #ffda7155}.q14-marker b{color:#ffe2a5;white-space:nowrap;background:linear-gradient(90deg,#0000,#122e2feb 15% 85%,#0000);padding:9px 22px 6px;font:700 22px KaiTi,"Noto Serif SC",serif}.q14-marker small{color:#deccab;letter-spacing:.15em;background:#112b2ddb;border:1px solid #b4935355;padding:4px 15px;font-size:11px}.q14-marker.selected{filter:drop-shadow(0 0 10px #ffd273);transform:translate(-50%,-50%)scale(1.1)}.q14-marker.selected>span{animation:2s ease-in-out infinite q14-beacon}.q14-marker.locked>span{color:#c6c7b1;box-shadow:none;background:#536760;border-color:#9cad94}.q14-marker.complete>span{color:#fff5c9;background:#d2b357}.q14-map-note{text-align:center;color:#efd9b0;text-shadow:0 2px 4px #001c25;font-size:13px;position:absolute;bottom:18px;left:0;right:0}.q14-scroll{color:#473f2a;background:linear-gradient(90deg,#c8b57c44,#0000 8% 92%,#c8b57c66),linear-gradient(#f7edca,#eaddad);border:10px solid #aa7944;border-left:3px double #bd9858;border-right:3px double #bd9858;border-radius:6px;padding:30px 24px 24px;position:relative;box-shadow:0 14px 25px #0005}.q14-stamp{color:#a34836;writing-mode:vertical-rl;border:2px solid #a34836;padding:7px 3px;font:700 15px "Noto Serif SC",serif;position:absolute;top:16px;right:18px;transform:rotate(8deg)}.q14-scroll>small{color:#816d44;font-size:12px}.q14-scroll h2{letter-spacing:.08em;margin:20px 0 14px;font:700 31px KaiTi,"Noto Serif SC",serif}.q14-story{color:#70623e;font-size:15px;line-height:1.8}.q14-scene-thumb{background-image:url(/assets/quest-scenes-v14.png);background-size:200% 200%;border:1px solid #977d46;border-radius:6px;height:110px;margin:20px 0}.scene-0{background-position:0 0}.scene-1{background-position:100% 0}.scene-2{background-position:0 100%}.scene-3{background-position:100% 100%}.q14-scroll dl{font-size:13px}.q14-scroll dl>div{border-bottom:1px dashed #b4a477;justify-content:space-between;gap:10px;margin:12px 0;padding-bottom:9px;display:flex}.q14-scroll dt{color:#8c7850}.q14-scroll dd{text-align:right;font-weight:700}.q14-bounty{color:#78502a;justify-content:space-between;align-items:center;margin:20px 0;display:flex}.q14-bounty b{font-size:29px}.q14-bounty small{font-size:13px}.q14-start{text-align:center;color:#fff1c8;background:linear-gradient(#257c70,#14544f);border:2px solid #bc9c56;border-radius:7px;width:100%;padding:13px 18px;font:700 19px KaiTi,"Noto Serif SC",serif;display:block;box-shadow:inset 0 0 0 2px #0b514755,0 4px 8px #183a3122}.q14-start:disabled{opacity:.5}.q14-fine{text-align:center;color:#887b56;margin:12px 0 0;font-size:11px;line-height:1.7}.q14-error{color:#fff0d9;background:#743c34;margin:12px 24px;padding:15px;line-height:1.7}.q14-error button{margin-left:15px;text-decoration:underline}.q14-resume{color:#f6d894;background:#385645;border:1px solid #b29759;align-items:center;gap:20px;max-width:1530px;margin:15px auto;padding:12px 20px;display:flex}.q14-resume span{flex:1}.q14-resume button{border-bottom:1px solid #edd399}.quest-play{color:#f4e6ba;background:#0d3033;min-height:100vh}.q14-play-header{background:#0a282c;justify-content:space-between;align-items:center;height:64px;padding:10px 28px;display:flex}.q14-play-header h1{font:700 26px KaiTi,"Noto Serif SC",serif}.q14-play-header h1 small{color:#abbdab;margin-left:16px;font:12px "Noto Serif SC",sans-serif}.q14-play-header button{border:1px solid #668376;border-radius:6px;padding:10px 14px}.q14-stage{background-image:url(/assets/quest-scenes-v14.png);background-size:200% 200%;height:clamp(320px,49vh,560px);position:relative;overflow:hidden}.q14-stage:after{content:"";pointer-events:none;background:linear-gradient(#03293355,#0000 25% 85%,#102e36aa);position:absolute;inset:0}.q14-objective{text-align:center;z-index:2;text-shadow:0 2px 5px #001;width:90%;position:absolute;top:16px;left:50%;transform:translate(-50%)}.q14-objective b{color:#ffe6ae;font:700 23px KaiTi,"Noto Serif SC",serif;display:block}.q14-objective span{color:#e6dab6;background:#163f3bc9;border:1px solid #c9b87a44;border-radius:30px;margin-top:10px;padding:7px 18px;font-size:12px;display:inline-block}.wick-search{position:absolute;inset:0}.wick{text-align:center;color:#ffe59b;transition:top 1s,left 1s,opacity 1s,transform 1s;position:absolute;transform:translate(-50%,-50%)}.wick>span{filter:drop-shadow(0 0 12px #ffd550);font-size:45px;animation:2s ease-in-out infinite q14-beacon;display:block}.wick b{background:#153c31cc;border-radius:20px;padding:5px 12px;font-size:12px}.wick.found{opacity:0;transform:translate(-50%,-50%)scale(.1);top:65%!important;left:90%!important}.wick-satchel{text-align:center;position:absolute;bottom:9%;right:2%}.wick-satchel img{filter:drop-shadow(0 0 15px #edbe6a);height:150px}.wick-satchel b{color:#ffdf9c;font-size:17px;display:block}.lantern-work{width:330px;height:88%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.lantern-work svg{filter:drop-shadow(0 0 7px #ffdf78);width:100%;height:100%}.lantern-work path,.lantern-work ellipse{opacity:.12;stroke-dasharray:700;stroke-dashoffset:700px;transition:stroke-dashoffset .7s,opacity .7s}.lantern-work .assembled{opacity:1;stroke-dashoffset:0}.lantern-work img{object-fit:contain;opacity:0;width:76%;height:85%;transition:opacity .6s,transform .6s;position:absolute;inset:5% 12%;transform:scale(.8)}.lantern-work img.finished{opacity:1;transform:scale(1)}.craft-progress{text-align:center;text-shadow:0 2px 4px #000;color:#ffdd86;width:100%;font-size:19px;position:absolute;bottom:7%;left:0}.wish-paper{text-align:center;color:#4d442f;height:38%;padding:16px 20px;font-family:KaiTi,"Noto Serif SC",serif;position:absolute;bottom:9%;left:24%;right:24%;transform:perspective(600px)rotateX(12deg)}.wish-paper>span{color:#8c6546;font-size:16px}.wish-paper p{margin:12px 0;font-size:clamp(20px,2.4vw,34px);line-height:1.4}.wish-paper i{font-style:normal;animation:1s infinite q14-beacon}.wish-paper>b{opacity:0;color:#9e4434;border:3px solid #9e4434;padding:8px 4px;font-size:15px;transition:opacity .3s,transform .3s;position:absolute;bottom:4%;right:4%;transform:scale(1.8)rotate(10deg)}.wish-paper>b.sealed{opacity:1;transform:scale(1)rotate(-8deg)}.sky-lanterns{position:absolute;inset:0;overflow:hidden}.sky-lanterns>img{opacity:0;filter:drop-shadow(0 0 16px #ffcd64);height:75px;position:absolute;bottom:0}.sky-lanterns>img.released{animation:6s ease-out infinite q14-rise}.sky-lanterns>p{color:#efd796;background:#12382ad9;border:1px solid #d4b46b;border-radius:25px;padding:10px 16px;position:absolute;bottom:24px;right:24px}.home-lights{pointer-events:none;background:radial-gradient(#ecc96066,#0000 70%);transition:opacity .3s;position:absolute;inset:65% 5% 0}.q14-story-step{z-index:2;color:#eed69a;background:#163c35de;border:1px solid #bc985555;padding:9px 22px;font-family:KaiTi,"Noto Serif SC",serif;font-size:20px;position:absolute;bottom:20px;left:28px}.q14-writing{color:#304b40;background:linear-gradient(#f7edc9,#e9dbac);border-top:7px solid #b99a53;min-height:280px;padding:0 4% 20px}.q14-metrics{border-bottom:1px dashed #b6a776;justify-content:space-around;align-items:center;gap:15px;padding:14px 0;font-size:13px;display:flex}.q14-metrics b{color:#1b6456;margin-left:8px;font-size:28px}.q14-prompt{letter-spacing:.02em;color:#7b8b72;flex-wrap:wrap;place-content:center;min-height:86px;padding:12px 0;font:600 clamp(24px,2.8vw,40px)/1.7 ui-monospace,"Noto Serif SC",monospace;display:flex}.q14-prompt .done{color:#198d71}.q14-prompt .current{color:#98442f;background:#efd279;border-radius:4px;box-shadow:0 0 0 2px #cfad50}.q14-input{text-align:center;color:#274f42;background:#fff9df;border:2px solid #a4b892;border-radius:8px;width:min(680px,94%);height:48px;margin:6px auto;font-size:20px;display:block}.q14-input:focus{border-color:#379984;outline:3px solid #d3b66455}.q14-feedback{text-align:center;color:#906c37;min-height:28px;padding:10px;font-size:14px}.q14-modal{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#041d27b8;place-items:center;display:grid;position:fixed;inset:0}.q14-modal>section{color:#365244;text-align:center;background:linear-gradient(#f6eac3,#e4d5a4);border:5px double #bb9858;border-radius:12px;width:min(540px,92%);padding:35px;box-shadow:0 20px 90px #0008}.q14-modal h2{margin:20px 0;font:700 28px KaiTi,"Noto Serif SC",serif}.q14-modal p{margin:15px 0;font-size:15px;line-height:1.9}.q14-modal button{margin-top:15px}.q14-modal button:not(.q14-start){border-bottom:1px solid #807b52;margin-right:20px}.q14-result-seal{color:#aa5842;border:3px double #aa5842;place-items:center;width:80px;height:80px;margin:auto;font:700 50px KaiTi,"Noto Serif SC",serif;display:grid;transform:rotate(-8deg)}.q14-result-stats{border-block:1px dashed #b5a47a;justify-content:space-around;margin:15px 0;padding:20px;display:flex}.teacher-quests14{color:#294f43;background:#f3efdc;border:1px solid #b3bc98;border-radius:12px;overflow:hidden}.q14-admin-banner{color:#e8d6a5;background:linear-gradient(90deg,#113e40f0,#1d4234aa),url(/assets/quest-map-v14.png) 50%/cover;padding:30px}.q14-admin-banner h1{margin:12px 0;font:700 30px KaiTi,"Noto Serif SC",serif}.q14-admin-banner p{color:#c0d2bd;font-size:14px}.q14-settings{flex-wrap:wrap;align-items:end;gap:20px;display:flex}.q14-settings label{gap:8px;min-width:150px;font-size:14px;display:grid}.q14-settings input,.q14-config-grid input{color:#294c3d;background:#fffcf0;border:1px solid #a9b796;border-radius:5px;width:100%;padding:10px}.q14-admin-form h2{margin:30px 0 16px;font:700 23px KaiTi,"Noto Serif SC",serif}.q14-class-select{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.q14-class-select label{background:#e0e9d6;border:1px solid #b6c29f;border-radius:5px;align-items:center;gap:7px;padding:9px 12px;font-size:14px;display:flex}.q14-class-select button{color:#37766a;text-decoration:underline}.q14-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px;display:grid}.q14-config-grid article{background:#fcf6df;border:1px solid #b8a777;border-radius:10px;padding:20px}.q14-config-grid h3{margin:10px 0 20px;font:700 25px KaiTi,"Noto Serif SC",serif}.q14-config-grid .q14-scene-thumb{height:130px;margin:0 0 15px}.q14-config-grid label{gap:6px;font-size:13px;display:grid}.q14-config-grid article>div:not(.q14-scene-thumb){grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0;display:grid}.q14-config-grid small{color:#9a7139}.q14-bank-example{color:#7d8b6d;margin:9px 0;font-size:12px}.q14-publish{flex-wrap:wrap;align-items:center;gap:14px;margin:25px 0;display:flex}.q14-publish p{color:#6c7e65;width:100%;font-size:13px}.teacher-quests14 td small{color:#829077;display:block}.treasure-symbol:has(img){background:radial-gradient(#779e8844,#0000);height:150px}.treasure-symbol img{object-fit:contain;max-width:100%;height:145px}.treasure-items .phoenix-robe,.treasure-items .moon-robe{height:170px}.treasure-symbol.violet-weapon{color:#d7a0ff;text-shadow:0 0 15px #a564ff}.treasure-symbol:is(.moon-weapon,.amber-weapon,.violet-weapon){font-size:48px;animation:1.6s ease-in-out infinite q14-beacon}.treasure-preview{align-self:start;min-height:550px;position:sticky;top:20px}.q14-preview-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:12px;display:flex}.q14-preview-controls button{color:#e2d1a2;border:1px solid #a28f5d;border-radius:5px;padding:6px 9px;font-size:13px}.q14-preview-controls button.selected{color:#173e34;background:#bd9a54}@keyframes q14-beacon{0%,to{opacity:.8;filter:drop-shadow(0 0 7px #ffe184)}50%{opacity:1;filter:drop-shadow(0 0 18px #ffe184)}}@keyframes q14-rise{0%{opacity:0;transform:translateY(0)scale(1)}15%{opacity:1}90%{opacity:.8}to{opacity:0;transform:translateY(calc(-1 * var(--rise))) translateX(25px) scale(.38)}}@media (width<=1050px){.q14-world{grid-template-columns:1fr 250px;gap:12px;padding:0 15px}.q14-map{min-height:530px}.q14-scroll{padding:27px 16px 15px}.q14-marker b{padding-inline:12px;font-size:18px}.q14-marker{min-width:105px}.q14-marker>span{width:42px;height:42px}.q14-heading h1{font-size:29px}.q14-config-grid{grid-template-columns:1fr}.q14-stage{height:42vh}}@media (width<=720px){.q14-world{grid-template-columns:1fr}.q14-map{min-height:440px}.q14-header .brand-lockup{display:none}.q14-heading{padding:0 18px}.q14-heading h1{font-size:25px}.q14-scroll{padding:25px}.q14-play-header{padding:8px 12px}.q14-play-header h1{font-size:20px}.q14-play-header h1 small{display:none}.q14-objective b{font-size:18px}.q14-objective span{font-size:11px}.q14-metrics{gap:6px;font-size:11px}.q14-metrics b{font-size:21px}.wish-paper{left:14%;right:14%}.wick-satchel img{height:90px}.q14-config-grid article>div:not(.q14-scene-thumb){grid-template-columns:1fr 1fr}.q14-resume{flex-wrap:wrap}.treasure-preview{position:static}}@media (prefers-reduced-motion:reduce){.q14-marker.selected>span,.wick>span,.wish-paper i,.treasure-symbol{animation:none!important}.sky-lanterns>img.released{opacity:1;animation:none;bottom:35%}}:root{--shanhai-display:"KaiTi","STKaiti","Kaiti SC","FangSong","Noto Serif CJK SC","Noto Serif SC",serif}.quest14 h1,.quest14 h2,.quest-tabs button,.treasure-title h1,.treasure-items h2,.q14-start,.q14-play-header h1,.q14-objective b,.teacher-quests14 h1,.teacher-quests14 h2,.teacher-quests14 h3,.student-panel h1,.student-panel h2,.name-entry h1,.name-entry h2{font-family:var(--shanhai-display)}.shanhai-dock{background:radial-gradient(#faf0cf99,#0000 75%);border-top:1px solid #ac965966;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px;max-width:1050px;margin:24px auto 10px;padding:18px 32px 12px;display:grid;position:relative}.shanhai-dock:before,.shanhai-dock:after{content:"◆";color:#a4894d;background:#d7e8df;padding:0 14px;font-size:16px;position:absolute;top:-12px}.shanhai-dock:before{left:0}.shanhai-dock:after{right:0}.shanhai-dock button{color:#365c50;min-width:0;min-height:100px;font:700 20px var(--shanhai-display);letter-spacing:.1em;background:linear-gradient(100deg,#d4c28c66,#fff8dd 40%,#ece0b8);border:1px solid #a58b5055;border-radius:5px 5px 16px 16px;flex-direction:column;justify-content:center;align-items:center;gap:9px;transition:transform .18s;display:flex;position:relative;box-shadow:inset 0 0 0 4px #f5edce,inset 0 0 0 5px #b6a16a66,0 6px 8px #38675b1a}.shanhai-dock button:before{content:"";border:2px solid #a88b4a;border-bottom:0;border-radius:50% 50% 0 0;width:20px;height:10px;position:absolute;top:-8px}.shanhai-dock svg{stroke-width:1.5px;color:#8b6d39;width:25px;height:25px}.shanhai-dock button.active{color:#fff0be;background:linear-gradient(120deg,#164b46,#327166);box-shadow:inset 0 0 0 4px #225d51,inset 0 0 0 5px #d5b978,0 5px 12px #214a4330}.shanhai-dock button.active svg{color:#ebd294}.shanhai-dock button:hover{transform:translateY(-4px)}.shanhai-dock button:focus-visible{outline-offset:4px;outline:3px solid #b58b3e}.atlas-page{padding-bottom:18px}.teacher-quests14{border:1px solid #bdad80;border-radius:8px;max-width:1380px;margin:0 auto;box-shadow:0 12px 35px #274d4210}.q14-admin-banner{padding:24px 30px}.q14-admin-banner h1{font-size:29px}.q14-admin-form{padding:24px 28px 32px}.q14-admin-form h2{margin:24px 0 14px;font-size:24px}.q14-settings{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px;margin:18px 0;display:grid}.q14-settings label{min-width:0}.q14-settings select,.q14-config-grid select{color:#294c3d;background:#fffcf0;border:1px solid #acb696;border-radius:5px;width:100%;min-width:0;height:42px;padding:7px 10px;font-size:14px}.q14-settings input{height:42px}.q14-class-select{gap:9px}.q14-class-select label{padding:8px 11px;font-size:13px}.q14-config-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px}.q14-config-grid article{background:linear-gradient(#fff9e8,#f3e9c9);border-radius:6px;min-width:0;padding:14px;box-shadow:0 4px 12px #806c3210}.q14-config-grid .q14-scene-thumb{aspect-ratio:3/2;border-radius:4px;height:auto;margin:0 0 14px}.q14-config-grid h3{color:#36584b;margin:8px 0 18px;font-size:24px}.q14-config-grid article>div:not(.q14-scene-thumb){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}.q14-config-grid label{font-size:12px}.q14-config-grid input{min-width:0;height:38px;padding:7px;font-size:15px}.q14-bank-example{color:#728168;min-height:36px;margin:8px 0;line-height:1.5}.q14-config-grid small{border-top:1px dashed #c5b685;padding-top:10px;font-size:12px;display:block}.q14-publish{border-block:1px solid #c6b98766;margin:24px 0;padding:18px 0}.q15-publish-state{background:#e5ead6;border-left:4px solid #ad8b4b;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.q15-publish-state small{color:#6b826a;margin-bottom:5px;font-size:12px;display:block}.q15-publish-state b{font:700 22px var(--shanhai-display);color:#305746}.q15-withdraw{color:#8d4c37!important;background:#f8ead6!important;border-color:#ba8064!important}.q15-test-note{border-bottom:1px solid #b9b58955;align-items:center;gap:16px;padding:16px 0;display:flex}.q15-test-note>b{font:700 20px var(--shanhai-display);white-space:nowrap}.q15-test-note span{color:#71816c;flex:1;font-size:13px;line-height:1.7}.q15-test-note button{white-space:nowrap;font-size:13px}.q14-publish button,.q14-settings button{font-family:var(--shanhai-display);font-size:17px}.q14-stage,.q14-scene-thumb{background-image:none;position:relative;overflow:hidden}.q15-scene-art{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.q14-scene-thumb{aspect-ratio:3/2;height:auto}.q14-stage>.q15-scene-art{z-index:0}.q14-stage .wish-paper{z-index:1}@media (width<=1350px){.q14-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.q14-config-grid article{grid-template-columns:140px minmax(0,1fr);gap:0 16px;padding:18px;display:grid}.q14-config-grid .q14-scene-thumb{aspect-ratio:3/4;grid-area:1/1/4;margin:0}.q14-config-grid h3,.q14-config-grid article>label,.q14-bank-example{grid-column:2}.q14-config-grid article>div:not(.q14-scene-thumb),.q14-config-grid article>small{grid-column:1/-1}.q14-config-grid h3{margin-top:4px}.shanhai-dock{gap:12px;margin-inline:30px}.shanhai-dock button{font-size:18px}}@media (width<=950px){.q14-admin-form{padding:20px}.q14-settings{grid-template-columns:1fr 1fr}.q14-config-grid article{display:block}.q14-config-grid .q14-scene-thumb{aspect-ratio:16/9;margin-bottom:14px}.shanhai-dock{grid-template-columns:repeat(4,1fr);max-width:600px;margin:24px auto;padding:18px 20px}.shanhai-dock button{min-height:88px}.q15-test-note{flex-wrap:wrap}.q15-test-note span{flex-basis:60%}}@media (width<=600px){.q14-config-grid,.q14-settings{grid-template-columns:1fr}.q14-admin-form{padding:16px}.q14-admin-banner{padding:20px}.q14-admin-banner h1{font-size:24px}.q15-publish-state b{font-size:18px}.shanhai-dock{gap:12px 8px}.shanhai-dock button{font-size:17px}.q14-config-grid .q14-scene-thumb{aspect-ratio:2}.q15-test-note span{flex-basis:100%}}:root{--v17-gold:#dfbd76;--v17-paper:#f4e9c4;--v17-ink:#102e34;--v17-kai:"STKaiti","KaiTi","Noto Serif SC",serif}.v17-nav{z-index:22;color:#f6e8bd;background:#092b30db;border-bottom:1px solid #dac08c55;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:12px 24px;display:flex;position:relative}.v17-nav button{color:#f0e4c0;font-family:var(--v17-kai);background:#143e3f80;border:1px solid #b89b694d;border-radius:5px;padding:8px 15px;font-size:17px}.v17-nav>span{font:22px var(--v17-kai);letter-spacing:.2em}.v17-nav strong{color:#ffdc85;font-size:23px}.v17-gold{color:#3e2818;font:700 22px var(--v17-kai);background:linear-gradient(150deg,#f4dfa5,#c39b52);border:1px solid #f0d693;border-radius:4px;min-height:50px;padding:12px 25px;display:block;box-shadow:inset 0 0 0 3px #9d73302b,0 5px 12px #0003}.v17-gold:disabled{opacity:.5;cursor:default}.v17-message{z-index:25;color:#f7e9bc;background:#0b2a30ed;border:1px solid #d0b77870;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:12px 24px;padding:12px 20px;display:flex;position:relative}.v17-message button{color:#ffe0a0;border-bottom:1px solid}.v17-message.error{background:#502823eb}.weapon-aura17{object-fit:fill;z-index:3;pointer-events:none;width:59%;height:89%;position:absolute;top:5%;left:19%}.attacking .weapon-aura17,.fallen .weapon-aura17{opacity:0}.enchantment-canvas17{z-index:6;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.boss-loading17{text-align:center;color:#ecd7aa;font-family:var(--v17-kai);padding-top:40%;display:block}.trading-house17{color:#f1e3ba;min-height:100dvh;font-family:var(--v17-kai);background:linear-gradient(#07172335,#100d13a6),url(/assets/shop-interior-v17.webp) 50%/cover fixed;overflow-x:clip}.shop-title17{text-align:center;background:linear-gradient(90deg,#211b19e6,#3e2720f0,#211b19e6);border:1px solid #c9a367;width:max-content;max-width:90%;margin:17px auto 0;padding:12px 50px 15px;position:relative;box-shadow:inset 0 0 0 5px #0003,0 9px 20px #0005}.shop-title17:before,.shop-title17:after{content:"❖";color:#a88a51;font-size:22px;position:absolute;top:38%}.shop-title17:before{left:12px}.shop-title17:after{right:12px}.shop-title17 small{letter-spacing:.25em;color:#c5aa79;font-size:11px}.shop-title17 h1{letter-spacing:.18em;color:#f8e1a5;margin:5px 0;font-size:clamp(32px,4vw,46px);line-height:1.2}.shop-title17>span{letter-spacing:.25em;color:#c7b491;font-size:13px}.shop-room17{grid-template-columns:minmax(340px,.9fr) minmax(500px,1.3fr);gap:20px;max-width:1560px;margin:0 auto;padding:12px 32px 35px;display:grid}.shop-mirror17{min-width:0;position:relative}.mirror-name17{z-index:15;text-shadow:0 2px 6px #06151d;gap:7px;display:grid;position:absolute;top:20px;left:20px}.mirror-name17>span{color:#d5bd83;letter-spacing:.2em;font-size:14px}.mirror-name17 b{font-size:27px}.mirror-name17 small{color:#c4dcda;font-size:13px}.shop-preview-stage17{isolation:isolate;background:radial-gradient(at 46% 60%,#87d4d41c,#0000 65%);height:500px;position:relative}.shop-preview-stage17 .cinema-background{display:none}.shop-preview-stage17 .rig-hero{width:min(540px,100%);bottom:4px;left:0}.shop-preview-stage17 .cinema-monster{opacity:0;width:30%;transition:opacity .3s;bottom:25px;right:0}.shop-preview-stage17.sparring .cinema-monster{opacity:1}.shop-preview-stage17 .technique-title{min-width:0;top:29%;left:25%}.shop-preview-stage17 .technique-title strong{font-size:35px}.shop-preview-stage17 .technique-title:before{inset:-10px -25px}.shop-preview-stage17 .contact-damage{font-size:32px}.mirror-plinth17{z-index:-1;background:linear-gradient(#434b44,#1c201d);border:1px solid #d2af67;border-radius:50%;width:63%;height:40px;position:absolute;bottom:18px;left:15%;box-shadow:0 9px #181814,0 13px #ad865433,0 20px 35px #0009}.shop-preview-tools17{z-index:17;justify-content:center;gap:9px;margin-top:-5px;display:grid;position:relative}.shop-preview-tools17>div{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.shop-preview-tools17 button{color:#e0d1a6;font-family:var(--v17-kai);background:#14383ce8;border:1px solid #ba9d6366;border-radius:3px;padding:8px 12px;font-size:15px}.shop-preview-tools17 button.selected{color:#fff1be;border-color:#e2c584;box-shadow:inset 0 0 12px #d2b57240}.shop-stock17{min-width:0;padding-top:14px}.shop-hanging-tabs17{justify-content:center;gap:22px;margin:0 0 16px;display:flex}.shop-hanging-tabs17 button{color:#cfb988;letter-spacing:.08em;font:21px var(--v17-kai);clip-path:polygon(0 0,100% 0,100% 87%,50% 100%,0 87%);background:linear-gradient(#503c2a,#271f1b);border:1px solid #9d7844;padding:15px 18px 18px;position:relative}.shop-hanging-tabs17 button.selected{color:#ffe7ad;background:linear-gradient(#2e6564,#133f43);border-color:#e7c68d}.shop-shelf17{background:linear-gradient(#0000,#28222170 50%,#21150be0);border-bottom:10px ridge #775936;justify-content:center;align-items:stretch;gap:8px;min-height:325px;padding:0 10px 19px;display:flex;box-shadow:0 12px #160f0c80}.shop-display17{color:#f7e1ab;background:0 0;border:0;flex:1;min-width:0;max-width:240px;padding:0 6px;position:relative}.merch-art17{justify-content:center;align-items:flex-end;height:244px;padding:0 0 12px;display:flex;position:relative}.merch-art17>img{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 8px #0008);width:100%;height:100%;transition:transform .3s;position:relative}.shop-display17:hover .merch-art17>img,.shop-display17.selected .merch-art17>img{transform:translateY(-5px)}.shop-display17.selected .merch-art17{background:radial-gradient(at 50% 80%,#78ded12e,#0000 66%)}.merch-plinth17{background:linear-gradient(#697065,#2a3331);border:1px solid #bea56b;border-radius:50%;height:20px;position:absolute;bottom:0;left:6%;right:6%;box-shadow:0 5px #111f21,0 8px #99815b66}.merch-label17{z-index:2;background:#2b211bf2;border:1px solid #93744a;gap:4px;max-width:170px;margin:15px auto 0;padding:8px 6px;display:grid;position:relative;box-shadow:inset 0 0 0 3px #1b1b1866}.merch-label17 b{font:21px var(--v17-kai)}.merch-label17 small{color:#d1b98a;font:12px system-ui,"Noto Serif SC",sans-serif}.selected .merch-label17{background:#244644f2;border-color:#f5d998}.relic17{--relic:#a2eaff;width:125px;height:155px;filter:drop-shadow(0 0 18px var(--relic));color:var(--relic);align-self:center;position:relative}.relic17.amber-weapon{--relic:#ffc765}.relic17.violet-weapon{--relic:#b693ff}.relic17 b{text-align:center;font:50px var(--v17-kai);text-shadow:0 0 18px;position:absolute;inset:30% 0 0}.relic17 i{border:2px solid;border-radius:50%;animation:3s ease-in-out infinite relic-breathe17;position:absolute;inset:15% 10%;transform:rotate(-28deg);box-shadow:inset 0 0 15px,0 0 10px}.relic17 i:nth-child(2){animation-delay:-1s;inset:8% 18%;transform:rotate(35deg)}.relic17 i:nth-child(3){border-width:1px;animation-delay:-2s;inset:33% -5%;transform:rotate(-22deg)}.violet-weapon.relic17 i{clip-path:polygon(50% 0,85% 15%,100% 50%,70% 65%,55% 100%,30% 70%,0 50%,25% 35%);border-radius:15%}.amber-weapon.relic17 i{border-style:dashed}.shop-shelf17.pendant .merch-art17>img{align-self:center;width:80px;height:170px}.shop-counter17{background:linear-gradient(135deg,#3b2a20f5,#221d1bf5);border:1px solid #bc945e;grid-template-columns:1fr auto;align-items:center;gap:12px 22px;min-height:160px;margin-top:24px;padding:22px 26px;display:grid;position:relative;box-shadow:inset 0 0 0 5px #15151466,0 15px 30px #0004}.shop-counter17 small{color:#bfa778;font:13px var(--v17-kai);letter-spacing:.1em}.shop-counter17 h2{font:30px var(--v17-kai);margin:4px 0 8px}.shop-counter17 p{font:15px/1.7 var(--v17-kai);color:#ddcfb3;margin:0}.counter-buy17{text-align:center;gap:9px;display:grid}.counter-buy17>b{color:#f1d488;font:22px var(--v17-kai)}.counter-buy17 .v17-gold{white-space:nowrap;padding:10px 16px;font-size:20px}.shop-notice17{grid-column:1/-1;color:#a5dfc1!important}.shop-fine17{text-align:center;color:#d2c3a3;text-shadow:0 1px 3px #000;margin:16px 0 0;font-size:13px}.boss-lobby17{background:linear-gradient(90deg,#061b26ca,#0b233762 48%,#0a2333dc),var(--arena) center/cover fixed;color:#f2e7c7;min-height:100dvh;font-family:var(--v17-kai);overflow-x:clip}.hunt-heading17{z-index:2;max-width:1320px;margin:28px auto 0;padding:0 30px;position:relative}.hunt-heading17>p{color:#d1b87b;letter-spacing:.25em;margin:0;font-size:14px}.hunt-heading17 h1{font:clamp(28px,3.8vw,47px) var(--v17-kai);letter-spacing:.15em;margin:9px 0}.hunt-heading17>span{color:#c1d8da;font-size:14px}.hunt-heading17 select{color:#f1dfb0;background:#11383d;border:1px solid #9b8657;margin-left:20px;padding:6px}.hunt-body17{grid-template-columns:1.45fr 1fr;align-items:center;gap:40px;max-width:1320px;margin:-20px auto 0;padding:0 30px;display:grid}.hunt-showcase17{justify-content:center;align-items:end;min-height:510px;display:flex;position:relative}.hunt-showcase17>.boss-art17{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 18px #07142399);max-width:100%;height:490px;animation:4s ease-in-out infinite hunt-breath17;position:relative}.hunt-sigil17{color:#c5e5e321;writing-mode:vertical-rl;font:180px var(--v17-kai);border-right:1px solid #d2caa333;line-height:1.1;position:absolute;top:25px;right:18px}.hunt-ground17{background:#031b3080;border:1px solid #c6dac260;border-radius:50%;height:35px;position:absolute;bottom:16px;left:8%;right:8%;box-shadow:0 0 30px #ade8e029}.hunt-epithet17{writing-mode:vertical-rl;font:22px var(--v17-kai);letter-spacing:.28em;color:#e8d7ae;position:absolute;top:29%;left:30px}.hunt-scroll17{border:1px solid #b6975f;outline-offset:5px;color:#233e3e;background:linear-gradient(130deg,#f6eccedb,#e2d5afe8);border-block:7px solid #ac8851;outline:1px solid #c9af73;justify-self:end;width:100%;max-width:460px;padding:32px 32px 25px;position:relative;box-shadow:0 15px 35px #00192250}.hunt-scroll17>small{color:#856332;letter-spacing:.1em;font-size:14px}.hunt-scroll17 h2{font:37px var(--v17-kai);letter-spacing:.12em;margin:10px 0 14px}.hunt-scroll17 p{font:17px/1.8 var(--v17-kai);margin:0 0 16px}.hunt-scroll17 dl{border-block:1px solid #99733a4a;margin:0;padding:8px 0;font:15px system-ui,"Noto Serif SC",sans-serif}.hunt-scroll17 dl>div{justify-content:space-between;gap:10px;margin:9px 0;display:flex}.hunt-scroll17 dd{text-align:right;margin:0;font-weight:600}.hunt-scroll17 dt{color:#60706a;white-space:nowrap}.hunt-reward17{color:#8a562c;justify-content:space-between;align-items:center;padding:14px 0;display:flex}.hunt-reward17 b{font-size:29px}.hunt-reward17 small{font-size:14px}.hunt-scroll17 .v17-gold{width:100%}.hunt-fine17{text-align:center;margin-top:12px;display:block;letter-spacing:0!important;font-size:11px!important}.hunt-stations17{justify-content:center;gap:20px;max-width:1320px;margin:20px auto 0;padding:5px 30px 32px;display:flex}.hunt-stations17 button{text-align:left;color:#c9d9ce;background:linear-gradient(120deg,#0d353ddf,#09232ded);border:1px solid #9d966661;flex:1;align-items:center;gap:15px;padding:15px 20px;display:flex;box-shadow:inset 0 0 0 4px #0a293455}.hunt-stations17 button.selected{color:#ffe7b0;background:linear-gradient(120deg,#42675dee,#163d42ed);border-color:#f2d393}.hunt-stations17 button>span{font:27px var(--v17-kai);border:1px solid #bba87480;border-radius:50%;flex-shrink:0;place-items:center;width:43px;height:43px;display:grid}.hunt-stations17 b{font:22px var(--v17-kai);white-space:nowrap;display:block}.hunt-stations17 small{opacity:.7;margin-top:6px;font-size:13px;display:block}.boss-battle17{color:#f3e6b8;background:#0d343b;min-height:100dvh}.boss-battle17 .v17-nav{min-height:50px;padding-block:7px}.boss-stage17{height:clamp(330px,49vh,590px);position:relative;overflow:hidden}.boss-stage17 .rig-hero{width:min(510px,41vw);max-height:100%;left:8%}.boss-stage17 .cinema-monster{width:min(450px,38vw);bottom:0;right:7%}.boss-stage17.phase-3 .monster-ground{box-shadow:0 0 45px #b6a4fb80}.boss-stage17 .boss-art17{object-fit:contain;width:100%;height:100%}.boss-hud17{z-index:17;width:min(28%,310px);font-family:var(--v17-kai);background:#0b333de8;border:1px solid #b3c19466;border-radius:9px;padding:12px 16px;position:absolute;top:15px}.boss-hud17.player{left:20px}.boss-hud17.enemy{right:20px}.boss-hud17 b{justify-content:space-between;font-size:22px;display:flex}.boss-hud17 small{color:#ddc486;font-size:13px}.boss-hud17 meter{background:#082a34;border:0;border-radius:8px;width:100%;height:12px;margin:8px 0 3px;display:block;overflow:hidden}.boss-hud17 meter::-webkit-meter-bar{background:#082a34;border:0}.boss-hud17 meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#4daf9d,#a1e8be)}.boss-hud17.enemy meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#b23f35,#f4b461)}.boss-hud17 meter::-moz-meter-bar{background:#74ceae}.boss-hud17.enemy meter::-moz-meter-bar{background:#e9794e}.boss-hud17>span{text-align:right;color:#c3d6d0;font:12px system-ui,"Noto Serif SC",sans-serif;display:block}.boss-rule17{z-index:19;color:#ffdea5;white-space:nowrap;background:#0b263cc9;border-radius:20px;padding:6px 18px;font-size:13px;position:absolute;bottom:9px;left:50%;transform:translate(-50%)}.boss-writing17{padding:0 12px 15px}.boss-metrics17{background:#0c3039;border-block:1px solid #9ebdaf33;grid-template-columns:repeat(4,1fr);padding:12px 0;display:grid}.boss-metrics17>span{font:14px var(--v17-kai);color:#a0cec9;border-right:1px solid #a6c1b129;grid-template-columns:auto 1fr;align-items:center;gap:1px 12px;padding:0 20px;display:grid}.boss-metrics17 b{color:#f9eabb;white-space:nowrap;justify-self:end;font-size:27px}.boss-metrics17 small{color:#a8b9b3;grid-column:1/-1;justify-self:end;font-size:11px}.boss-paper17{color:#284b47;border:1px solid #c5a56d;background:linear-gradient(125deg,#f0e5bc,#fff9e0,#ede4be);border-inline:5px solid #c5a56d;border-radius:8px;margin:9px 0 0;padding:12px 24px}.boss-paper17 .q14-prompt{overflow-wrap:anywhere;word-break:break-all;min-height:85px;padding:14px 8px 12px;font-size:clamp(26px,3.1vw,42px);line-height:1.5}.boss-paper17 .q14-input{color:#304946;background:#fffef179;border:1px solid #ba9e6759;border-radius:4px;width:min(680px,100%);min-height:40px;margin:4px auto 0;padding:9px 13px;font-size:16px;display:block}.boss-paper17>p{text-align:center;color:#876f3a;margin:8px 0;font-size:13px}.boss-paper17 .jade-keyboard{max-width:950px;margin:0 auto;padding-top:8px}.boss-battle17 .q14-modal h2{font-family:var(--v17-kai)}.boss-battle17 .q14-modal .v17-gold{width:100%;margin:20px 0 5px}.teacher-quests14 fieldset{border:0;min-width:0;margin:0;padding:0}.teacher-quests14 fieldset:disabled{opacity:.65}.teacher-quests14 .q14-scene-thumb{isolation:isolate;height:150px;position:relative;overflow:hidden}.boss-admin-bg17{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.teacher-quests14 .q14-scene-thumb .boss-art17{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.teacher-quests14 .q14-config-grid>article{align-self:start}.teacher-quests14 .q14-config-grid h3{font:24px var(--v17-kai)}@keyframes relic-breathe17{50%{opacity:.5;filter:brightness(1.4)}}@keyframes hunt-breath17{50%{transform:translateY(-4px)}}@media (width>=1700px){.shop-preview-stage17{height:560px}.merch-art17{height:285px}.shop-shelf17{min-height:365px}.shop-room17{padding-top:25px}.hunt-showcase17{min-height:570px}.hunt-showcase17>.boss-art17{height:550px}}@media (width<=1100px){.shop-room17{grid-template-columns:minmax(300px,.9fr) minmax(420px,1.2fr);gap:10px;padding-inline:16px}.shop-preview-stage17{height:440px}.merch-art17{height:220px}.shop-hanging-tabs17{gap:10px}.shop-hanging-tabs17 button{padding:13px;font-size:18px}.shop-counter17{grid-template-columns:1fr;padding:18px}.counter-buy17{justify-content:space-between;align-items:center;display:flex}.hunt-body17{gap:15px}.hunt-showcase17>.boss-art17{height:420px}.hunt-scroll17{padding:23px}.hunt-stations17{gap:8px}.hunt-stations17 button{gap:8px;padding:10px}.hunt-stations17 b{font-size:18px}}@media (width<=800px){.v17-nav{padding:9px 12px}.v17-nav>span{letter-spacing:.06em;font-size:17px}.v17-nav button{padding:7px 9px;font-size:14px}.shop-title17{margin-top:12px}.shop-room17{flex-direction:column;padding:0 12px 25px;display:flex}.shop-mirror17{width:min(540px,100%);margin:auto}.shop-preview-stage17{height:420px}.shop-stock17{padding-top:30px}.shop-shelf17{min-height:290px}.merch-art17{height:220px}.shop-counter17{grid-template-columns:1fr auto}.counter-buy17{display:grid}.hunt-heading17{margin-top:20px;padding:0 18px}.hunt-body17{grid-template-columns:1fr;gap:0;margin:0;padding:0 20px}.hunt-showcase17{min-height:340px}.hunt-showcase17>.boss-art17{height:340px}.hunt-scroll17{justify-self:stretch;max-width:none;padding:22px 25px}.hunt-scroll17 dl{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.hunt-scroll17 dl>div{margin:6px 0;display:block}.hunt-scroll17 dd{text-align:left;margin-top:3px}.hunt-stations17{grid-template-columns:1fr 1fr;padding:0 20px 24px;display:grid}.hunt-stations17 button{flex:none}.boss-stage17{height:330px}.boss-stage17 .rig-hero{width:min(370px,55vw);bottom:0;left:-4%}.boss-stage17 .cinema-monster{width:40vw;right:3%}.boss-hud17{width:36%;padding:8px 10px;top:9px}.boss-hud17 b{font-size:17px}.boss-hud17.player{left:9px}.boss-hud17.enemy{right:9px}.boss-metrics17>span{padding:0 10px;font-size:12px}.boss-metrics17 b{font-size:21px}.boss-paper17{padding:10px 12px}.boss-paper17 .q14-prompt{font-size:28px}.boss-paper17 .jade-keyboard{display:none}}@media (width<=480px){.shop-preview-stage17{height:360px}.shop-room17{padding-inline:8px}.shop-hanging-tabs17{gap:8px}.shop-hanging-tabs17 button{padding:12px;font-size:17px}.merch-art17{height:175px}.shop-shelf17{gap:0;min-height:250px;padding-inline:0}.merch-label17 b{font-size:17px}.merch-label17 small{font-size:10px}.shop-counter17{grid-template-columns:1fr;padding:17px}.counter-buy17{display:flex}.mirror-name17{top:15px;left:20px}.mirror-name17 b{font-size:22px}.shop-preview-tools17 button{padding:7px 10px;font-size:13px}.shop-fine17{font-size:11px}.boss-metrics17{grid-template-columns:1fr 1fr;gap:8px}.boss-stage17{height:300px}.boss-stage17 .rig-hero{width:70vw;left:-10%}.boss-stage17 .cinema-monster{width:49vw;right:0}.boss-hud17{width:43%}.boss-rule17{padding:5px 10px;font-size:11px}.boss-paper17 .q14-prompt{font-size:25px}.v17-nav>span{font-size:14px}.hunt-scroll17 h2{font-size:30px}.relic17{width:85px;height:125px}}@media (prefers-reduced-motion:reduce){.relic17 i,.hunt-showcase17>.boss-art17{animation:none}.weapon-aura17{display:none}.merch-art17>img{transition:none}}.rig-canvas{width:150%;max-width:none;height:100%;left:-25%;right:auto}.rig-fallback,.weapon-aura18{object-fit:contain;pointer-events:none;opacity:1;width:auto;max-width:none;height:89%;position:absolute;top:5%;left:50%;transform:translate(-50%)}.weapon-aura18{z-index:3}.attacking .weapon-aura18,.fallen .weapon-aura18{opacity:0}.merch-art17{height:clamp(180px,18vw,244px)}.merch-art17>img.portrait-outfit18{pointer-events:none;object-fit:contain;flex-shrink:0;width:auto;max-width:none;height:100%}.shop-shelf17{gap:20px}.shop-display17{container-type:inline-size}@supports (height:1cqw){.merch-art17{height:min(244px,105cqw)}}.entry-portrait,.wardrobe-hero{overflow:hidden}.entry-portrait>.portrait-outfit18,.wardrobe-hero>.portrait-outfit18{object-fit:contain;width:auto;max-width:none;position:relative;left:50%;transform:translate(-50%)}.entry-portrait>.portrait-outfit18{height:100%}.wardrobe-hero>.portrait-outfit18{height:470px;padding:15px 0}.welcome-visual{min-width:0}.welcome-visual>.portrait-outfit18{object-fit:contain;width:auto;max-width:none}.technique-fx.enchanted .sword-strokes i{background:linear-gradient(90deg,transparent,var(--fx),var(--fx-core));box-shadow:0 0 20px var(--fx)}.technique-fx.enchanted.effect-sword-3 .sword-strokes i{border-right-color:var(--fx-core);box-shadow:14px 0 30px var(--fx);background:0 0}.technique-fx.enchanted.effect-sword-4 .sword-strokes i{background:linear-gradient(90deg,transparent,var(--fx) 20%,var(--fx-core) 50%,var(--fx) 80%,transparent);box-shadow:0 0 45px var(--fx)}.technique-fx.enchanted .bow-volley i{background:linear-gradient(90deg,transparent,var(--fx) 45%,var(--fx-core));filter:drop-shadow(0 0 8px var(--fx))}.technique-fx.enchanted.effect-bow-3 .bow-volley i,.technique-fx.enchanted.effect-bow-4 .bow-volley i{background:linear-gradient(transparent,var(--fx-soft),var(--fx),var(--fx-core));box-shadow:0 5px 20px var(--fx)}.technique-fx.enchanted .spell-orbs i{background:radial-gradient(circle,var(--fx-core) 10%,var(--fx) 30%,var(--fx-soft) 53%,transparent 70%);box-shadow:0 0 25px var(--fx-soft)}.technique-fx.enchanted .thunder-field svg{filter:drop-shadow(0 0 10px var(--fx))}.technique-fx.enchanted .thunder-field polyline{stroke:var(--fx-core)}.technique-fx.enchanted .nova-field i{border-color:var(--fx);box-shadow:0 0 25px var(--fx),inset 0 0 25px var(--fx-soft)}.technique-fx.enchanted .nova-field b{background:radial-gradient(circle,var(--fx-core),var(--fx),var(--fx-soft) 70%,transparent);box-shadow:0 0 45px var(--fx-soft)}.teacher-test18{gap:22px;max-width:1050px;margin:0 auto;display:grid}.teacher-test-intro18{color:#f4e5b7;background:linear-gradient(115deg,#153e42,#29614f);border:1px solid #b7a16e;border-radius:4px;padding:30px}.teacher-test-intro18 h2{margin:6px 0 13px;font:32px KaiTi,STKaiti,"Noto Serif SC",serif}.teacher-test-intro18 p{color:#c6d8c7;margin:6px 0;line-height:1.8}.teacher-test-controls18{background:#f8f1dc;border:1px solid #c4ae7c;grid-template-columns:1fr 1fr;gap:20px;padding:26px;display:grid}.teacher-test-controls18 label{gap:9px;font-weight:600;display:grid}.teacher-test-controls18 select{background:#fffbed;border:1px solid #baa475;border-radius:4px;padding:12px}.teacher-test-controls18 .cloud-toolbar{flex-wrap:wrap;grid-column:1/-1}.teacher-test-wallet18{background:#e5eadf;border-left:4px solid #aa8142;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:18px;padding:18px;display:flex}.teacher-test-wallet18 b{color:#87601e;font:28px KaiTi,STKaiti,"Noto Serif SC",serif}.teacher-test-wallet18 small{color:#5e7369;display:block}.teacher-nav-test18{margin:5px 0 12px}.teacher-sidebar .teacher-nav-test18{color:#fff2c4;background:#365d4f;border-color:#e1c37b}@media (width<=1100px){.shop-room17{flex-direction:column;max-width:900px;display:flex}.shop-mirror17{width:min(580px,100%);margin:auto}.shop-stock17{padding-top:25px}.merch-art17{height:clamp(175px,28vw,244px)}}@media (width<=760px){.wardrobe-hero>.portrait-outfit18{height:390px}}@media (width<=600px){.shop-shelf17{gap:5px}.merch-art17{height:calc(33.3333vw - 16px)}.teacher-test-controls18{grid-template-columns:1fr;padding:18px}.teacher-header{flex-wrap:wrap;gap:10px}.teacher-header .cloud-toolbar{flex-wrap:wrap}.teacher-test-intro18{padding:22px}.teacher-test-intro18 h2{font-size:26px}}@media (prefers-reduced-motion:reduce){.weapon-aura18{display:none}}:root{--v19-ink:#173f40;--v19-gold:#d5b774;--v19-paper:#f4e8c4;--v19-kai:"STKaiti","KaiTi","Noto Serif CJK SC","Noto Serif SC",serif}.inventory19{color:#f3e7c5;min-height:100dvh;font-family:var(--v19-kai);background:linear-gradient(110deg,#062c35ac,#092c34c9),url(/assets/academy-v11.png) 50%/cover fixed;padding-bottom:46px;overflow-x:clip}.v19-nav{background:#0b2e34e8;border-bottom:1px solid #c7ad7466;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px max(24px,50vw - 720px);display:flex}.v19-nav>div{align-items:center;gap:20px;display:flex}.v19-nav button{color:#f3e3b5;font:18px var(--v19-kai);background:#143e4290;border:1px solid #c6ad7166;border-radius:3px;padding:9px 16px}.v19-nav .brand-lockup{color:#eedeae}.v19-nav .brand-lockup small{color:#b6cbb9}.v19-nav>div>span{white-space:nowrap;color:#b8c5aa;font-size:15px}.v19-nav b{color:#f3d895;margin-left:5px;font-size:24px}.inventory-heading19{align-items:center;gap:24px;max-width:1400px;margin:28px auto 25px;padding:0 26px;display:flex}.inventory-heading19 h1{font:38px var(--v19-kai);letter-spacing:.1em;color:#ffedbd;margin:5px 0;line-height:1.4}.inventory-heading19 small{color:#cdbb8a;letter-spacing:.2em;font-size:12px}.inventory-heading19 p{color:#c1d3c5;margin:2px 0;font-size:17px}.inventory-total19{white-space:nowrap;color:#d6c79f;border-bottom:1px solid #c7b07855;align-self:flex-end;margin-left:auto;padding-bottom:7px;font-size:16px;font-weight:400}.inventory-total19 strong{color:#f4d590;margin:0 5px;font-size:30px}.inventory-layout19{grid-template-columns:minmax(330px,.85fr) minmax(0,1.3fr);align-items:start;gap:30px;max-width:1400px;margin:auto;padding:0 26px;display:grid}.inventory-mirror19{background:radial-gradient(at 50% 38%,#9ed9ca22,#0000 60%),linear-gradient(160deg,#16474d95,#092e37db);border:1px solid #ae9a6266;min-width:0;padding-top:18px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px #0b34383b}.inventory-mirror19:before{content:"";pointer-events:none;border:1px solid #bbaa7040;position:absolute;inset:10px}.inventory-mirror-title19{text-align:center;z-index:2;gap:7px;display:grid;position:relative}.inventory-mirror-title19>span{letter-spacing:.3em;color:#c3bc96;font-size:13px}.inventory-mirror-title19 b{font:28px var(--v19-kai);color:#ffe4a1}.inventory-mirror-title19 small{color:#b4cfbe;font-size:14px}.inventory-hero19{isolation:isolate;height:clamp(340px,34vw,460px);position:relative;overflow:hidden}.inventory-hero19>img{object-fit:contain;filter:drop-shadow(0 14px 14px #001d2577);z-index:1;pointer-events:none;width:auto;max-width:none;height:97%;position:absolute;bottom:0;left:45%;transform:translate(-50%)}.inventory-ground19{background:#b6d6b51c;border:1px solid #d3c48066;border-radius:50%;height:30px;position:absolute;bottom:5px;left:16%;right:17%;box-shadow:0 0 22px #cfdaad1c}.inventory-pet19{z-index:3;flex-direction:column;justify-content:flex-end;align-items:center;width:38%;height:38%;display:flex;position:absolute;bottom:12px;right:-2%}.inventory-pet19>.pet-portrait19{object-fit:contain;max-width:100%;height:calc(100% - 24px)}.inventory-pet19>span{color:#f6df9c;white-space:nowrap;background:#143e40d9;border-block:1px solid #c7ad7260;padding:4px 10px;font-size:12px}.inventory-worn19{background:#0a2e355e;border-block:1px solid #b6a67250;grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 16px 0;padding:15px 0;display:grid;position:relative}.inventory-worn19 button{border:0;color:#f3e5bb;min-width:0;font-family:var(--v19-kai);background:0 0;border-right:1px solid #c4b78133;padding:0 4px}.inventory-worn19 button:last-child{border:0}.inventory-worn19 small{color:#a5bba8;margin-bottom:7px;font-size:12px;display:block}.inventory-worn19 b{overflow-wrap:anywhere;font-size:17px;font-weight:400;display:block}.inventory-profile-toggle19{color:#d7cea9;width:100%;font:17px var(--v19-kai);background:#11383c88;border:0;justify-content:space-between;padding:17px 24px;display:flex;position:relative}.inventory-profile-toggle19>span{color:#93b6a9;font-size:14px}.inventory-profession19{padding:0 20px 15px;position:relative}.inventory-profession19 .gender-choice{margin:0 0 12px}.inventory-profession19 .gender-choice>span{color:#c6caa9;font-size:14px}.inventory-profession19 .gender-choice button{color:#e6ddba;background:#153f43;border-color:#8c9d7b}.inventory-role-grid19{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.inventory-role-grid19 button{color:#d3ddc3;font-family:var(--v19-kai);background:#143e43;border:1px solid #af9d6250;justify-items:center;gap:7px;padding:13px 3px;display:grid}.inventory-role-grid19 button[aria-pressed=true]{color:#ffe4a4;opacity:1;background:#376050;border-color:#d7b774}.inventory-role-grid19 b{font-size:17px;font-weight:400}.inventory-role-grid19 small{color:#aabca9;font-size:11px}.inventory-profession19>p{text-align:center;color:#a8b9a5;margin:14px 0 0;font-size:12px;line-height:1.7}.inventory-chest19{border:1px solid #b8985f;color:#244a43;background:linear-gradient(115deg,#e4d1a0,#fbf1cf 10%,#f5e6bf 90%,#d6bd8b);border-block:7px solid #937441;min-width:0;min-height:550px;padding:22px 24px;position:relative;box-shadow:inset 0 0 0 6px #d4c195,0 14px 30px #001c2c66}.inventory-tabs19{border-bottom:1px solid #ac936156;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 22px;padding-bottom:17px;display:grid}.inventory-tabs19 button{color:#756747;font:17px var(--v19-kai);background:linear-gradient(#f5e9c6,#e6d8ae);border:1px solid #b59d6b;border-radius:2px;justify-items:center;gap:8px;padding:10px 5px;display:grid}.inventory-tabs19 button.selected{color:#fae3a7;background:linear-gradient(#336453,#1a4b43);border-color:#bc9c55;box-shadow:inset 0 -3px #bc9c55}.inventory-tabs19 i{font:normal 25px var(--v19-kai);opacity:.8;line-height:1}.inventory-tabs19 small{opacity:.7;margin-left:5px;font:11px system-ui,"Noto Serif SC",sans-serif}.inventory-items19{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:13px;min-width:0;display:grid}.inventory-item19{color:#315447;min-width:0;font-family:var(--v19-kai);text-align:center;background:linear-gradient(140deg,#eee0b7,#fff7db,#e6d6aa);border:1px solid #bdaa785e;border-radius:2px;padding:0 7px 14px;position:relative;overflow:hidden;box-shadow:0 3px 7px #4f341015}.inventory-item19.selected{background:linear-gradient(140deg,#d9e3bd,#f8f2cc,#e2dfb6);border-color:#7d8b54;box-shadow:inset 0 0 0 2px #557a6160,0 5px 12px #63552b30}.inventory-item19 b{letter-spacing:.03em;font-size:21px;font-weight:600;line-height:1.4;display:block}.inventory-item19>small{color:#857148;min-height:18px;margin-top:5px;font-size:11px;display:block}.inventory-item19.equipped>small{color:#37705a}.inventory-item-art19{background:radial-gradient(at 50% 70%,#99bb9940,#0000 66%);justify-content:center;align-items:center;height:168px;margin:0 -7px 10px;display:flex;position:relative;overflow:hidden}.inventory-item-art19>img{object-fit:contain;flex-shrink:0;width:auto;max-width:none;height:95%}.inventory-item-art19>.pet-portrait19{object-fit:contain;width:100%;max-width:98%;height:94%}.inventory-item-art19>.cosmetic-art{width:112px;height:130px}.inventory-item-art19 .inventory-relic19{flex-shrink:0;transform:scale(.8)}.inventory-equip-mark19{color:#ffedb5;font:normal 14px var(--v19-kai);outline-offset:2px;background:#7b3b2d;border:1px solid #bfa367;outline:1px solid #9a6b48;place-items:center;width:23px;height:27px;display:grid;position:absolute;top:9px;right:8px}.inventory-detail19{border-top:1px solid #b99c625e;margin-top:23px;padding-top:20px}.inventory-detail-heading19{justify-content:space-between;align-items:center;gap:10px;display:flex}.inventory-detail-heading19 small{color:#947846;letter-spacing:.07em;font-size:12px}.inventory-detail-heading19 h2{font:29px var(--v19-kai);color:#284c42;margin:8px 0}.inventory-detail-heading19>span{color:#688062;white-space:nowrap;border:1px solid #9aab79;border-radius:2px;padding:4px 8px;font-size:12px}.inventory-detail19>p{font:16px/1.9 var(--v19-kai);color:#687252;margin:5px 0 16px}.inventory-detail-actions19{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.inventory-detail-actions19 .v17-gold{min-width:190px;font-size:20px}.inventory-text-button19{color:#8d6535;font:15px var(--v19-kai);background:0 0;border:0;border-bottom:1px solid #a68951;padding:4px 0}.inventory-empty19{text-align:center;color:#687657;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:30px 16px;display:flex}.inventory-empty19>span{font:64px var(--v19-kai);color:#9b8c5670}.inventory-empty19 h2{font:26px var(--v19-kai);margin:12px 0}.inventory-empty19 p{max-width:330px;margin:5px 0 20px;font-size:16px;line-height:1.8}.inventory-empty19 button{font-size:18px}.v19-feedback{color:#3d6251;background:#f3e8c9;border:1px solid #a9b486;flex-wrap:wrap;align-items:center;gap:18px;max-width:1348px;margin:12px auto;padding:13px 20px;line-height:1.7;display:flex}.v19-feedback.error{color:#893f30;background:#f6e3c7;border-color:#bc8264}.v19-feedback button{color:inherit;background:0 0;border:0;border-bottom:1px solid}.inventory19>.v19-feedback{margin-inline:max(26px,50vw - 674px)}.pet-choose19{color:#f0e6b8;background:linear-gradient(120deg,#1b4b48,#426849);border:1px solid #a6a376;margin-bottom:18px;padding:18px;box-shadow:inset 0 0 0 4px #ffffff08}.pet-choose19 small{color:#b6cead;font-size:12px}.pet-choose19 h2{font:25px var(--v19-kai);color:#ffe5a5;margin:6px 0}.pet-choose19 p{margin:4px 0;font-size:14px;line-height:1.7}.pet-choose-grid19{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.pet-choose-grid19 button{color:#fff0c3;font-family:var(--v19-kai);background:radial-gradient(at 50% 65%,#aec99128,#0000 70%);border:1px solid #c5be893b;min-width:0;padding:7px 2px 12px}.pet-choose-grid19 button:hover{background-color:#668c6833;border-color:#e7d090}.pet-choose-grid19 .pet-portrait19{object-fit:contain;width:100%;height:130px}.pet-choose-grid19 b{font-size:18px;display:block}.pet-choose-grid19 small{margin-top:5px;display:block}.pet-progress19{border-block:1px solid #ad9b5c44;margin:16px 0;padding:12px 0}.pet-progress19>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.pet-progress19 b{font:22px var(--v19-kai);color:#397257}.pet-progress19 span{color:#8f653b;font-size:14px}.pet-progress19>p{color:#778464;font-size:13px}.pet-evolution19{background:#8c9d6520;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px;display:grid}.pet-evolution19>span{opacity:.45;justify-items:center;display:grid}.pet-evolution19>span.reached{opacity:1}.pet-evolution19 .pet-portrait19{object-fit:contain;width:100%;height:92px}.pet-evolution19 small{color:#56724e;font-size:13px}.shop-pet-preview19{z-index:15;pointer-events:none;align-content:end;justify-items:center;width:48%;height:48%;display:grid;position:absolute;bottom:13px;right:0}.shop-pet-preview19>.pet-portrait19{object-fit:contain;filter:drop-shadow(0 8px 9px #041b2166);width:100%;height:200px;max-height:100%}.shop-pet-preview19>b{font:17px var(--v19-kai);background:#163d40d9;border-block:1px solid #b49c6b66;padding:6px 14px}.shop-shelf17.pet .merch-art17>.pet-portrait19{object-fit:contain;width:100%;height:90%}.trading-house17 .v17-nav{justify-content:flex-start}.trading-house17 .v17-nav>b{margin-left:auto}.teacher-banner19{color:#e8ddae;background:linear-gradient(100deg,#163f43f0,#2e6654de),url(/assets/academy-v11.png) 50% 38%/cover;border:1px solid #9a9d6a;margin-bottom:20px;padding:24px 30px;position:relative;box-shadow:inset 0 0 0 5px #c6b67514}.teacher-banner19>small{color:#b9cdae;letter-spacing:.1em;font-size:12px}.teacher-banner19 h2{font:32px var(--v19-kai);letter-spacing:.06em;color:#ffe9b3;margin:9px 0;line-height:1.4}.teacher-banner19 p{font:16px/1.8 var(--v19-kai);color:#c0d1ba;margin:6px 0}.teacher-tabs19{border-bottom:1px solid #b6ac89;gap:10px;margin:0 0 20px;padding-bottom:12px;display:flex}.teacher-tabs19 button,.teacher-catalog-toolbar19 button{font:18px var(--v19-kai);color:#68765a;background:#eeead7;border:1px solid #b9ac7e;border-radius:3px;padding:11px 24px}.teacher-tabs19 button.selected,.teacher-catalog-toolbar19 button.selected{color:#fff0bd;background:linear-gradient(#3c6a55,#245146);border-color:#a18d54}.teacher-catalog-toolbar19{flex-wrap:wrap;align-items:center;gap:15px;margin:18px 0;display:flex}.teacher-catalog-toolbar19>div{flex-wrap:wrap;gap:8px;display:flex}.teacher-catalog-toolbar19 button{padding:7px 13px;font-size:16px}.teacher-catalog-toolbar19 p{color:#7f8366;margin:0;font-size:12px}.teacher-price-grid19{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.teacher-price-grid19>article{background:linear-gradient(125deg,#f5e9c8,#fffae5,#e9d9ad);border:1px solid #b6a574;min-width:0;padding:10px 16px 16px;box-shadow:inset 0 0 0 4px #c3ad7430,0 5px 14px #213e3215}.teacher-price-art19{background:radial-gradient(at 50% 70%,#a5ba7c30,#0000 65%);justify-content:center;align-items:center;height:190px;display:flex;position:relative;overflow:hidden}.teacher-price-art19>img{object-fit:contain;flex-shrink:0;width:auto;max-width:none;height:100%}.teacher-price-art19>.pet-portrait19{object-fit:contain;width:100%}.teacher-price-grid19 article>div>small{color:#8c794d;letter-spacing:.1em;font-size:12px}.teacher-price-grid19 h3{font:26px var(--v19-kai);color:#274f44;margin:5px 0 15px}.teacher-price-grid19 label{color:#748260;font-size:12px;display:block}.teacher-price-grid19 label>div{align-items:center;gap:9px;margin-top:6px;display:flex}.teacher-price-grid19 input{width:100%;min-width:0;max-width:150px;font:24px var(--v19-kai);color:#88643a;background:#fffcec;border:1px solid #b7a772;border-radius:3px;padding:9px 12px}.teacher-price-grid19 article p{color:#929177;margin:8px 0 0;font-size:12px}.teacher-save19{color:#8d7344;justify-content:flex-end;align-items:center;gap:20px;padding:20px 0;font-size:14px;display:flex}.teacher-save19 .primary-button{font-family:var(--v19-kai);padding:12px 25px;font-size:19px}.teacher-fine19{color:#7c846c;border-top:1px solid #bfb89a;padding-top:17px;font-size:13px;line-height:1.8}.teacher-grant-layout19{grid-template-columns:minmax(250px,.8fr) minmax(0,1.25fr);align-items:start;gap:25px;display:grid}.teacher-gift19{text-align:center;color:#f4e4b6;background:radial-gradient(at 50% 48%,#a2c49c3b,#0000 68%),linear-gradient(#1b484b,#103b3f);border:1px solid #af9c63;padding:22px 0;overflow:hidden;box-shadow:inset 0 0 0 7px #102e373a}.teacher-gift19>small{letter-spacing:.12em;color:#b4c6ad;font-size:12px}.teacher-gift19 h2{font:34px var(--v19-kai);letter-spacing:.13em;color:#ffe2a3;margin:10px 0 0}.teacher-gift-art19{height:clamp(260px,28vw,380px);margin:10px 0;position:relative;overflow:hidden}.teacher-gift-art19>img{object-fit:contain;width:auto;max-width:none;height:100%;position:absolute;left:50%;transform:translate(-50%)}.teacher-gift-gender19{justify-content:center;gap:10px;display:flex}.teacher-gift-gender19 button{color:#c9d2ac;font:16px var(--v19-kai);background:#174348;border:1px solid #a7a07170;border-radius:2px;padding:5px 20px}.teacher-gift-gender19 button.selected{color:#ffe5a6;background:#486950;border-color:#e1c07b}.teacher-gift19 p{font:18px var(--v19-kai);margin:15px 0 8px}.teacher-gift19>span{color:#a3b9a1;font-size:12px}.teacher-grant-form19{background:#f6efd9;border:1px solid #bdad7d;padding:22px}.teacher-grant-form19 label,.teacher-setting-scope19 label{color:#42604a;gap:9px;font-size:14px;font-weight:600;display:grid}.teacher-grant-form19 select,.teacher-grant-form19 input[type=text],.teacher-grant-filters19 input,.teacher-setting-scope19 select{color:#355b49;background:#fff9e8;border:1px solid #b1ad7f;border-radius:2px;width:100%;min-width:0;padding:10px 11px;font-size:14px}.teacher-grant-note19{color:#946335;background:#ecdfb9;padding:11px;font-size:13px;line-height:1.8}.teacher-grant-filters19{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.teacher-grant-select19{color:#66805a;flex-wrap:wrap;align-items:center;gap:10px;padding:18px 0 12px;font-size:12px;display:flex}.teacher-grant-select19 b{margin-right:auto}.teacher-grant-select19 button{color:#97723d;background:0 0;border:0;border-bottom:1px solid #a78d55;font-size:12px}.teacher-recipient-grid19{scrollbar-color:#9b9c70 #e7dfbe;scrollbar-width:thin;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:360px;padding:3px 3px 8px;display:grid;overflow:auto}.teacher-recipient-grid19 label{cursor:pointer;background:#fffae7;border:1px solid #c7bc94;align-items:center;gap:7px;min-width:0;padding:10px 7px;font-size:14px;font-weight:400;display:flex}.teacher-recipient-grid19 label.selected{background:#e1e8c5;border-color:#758d5c}.teacher-recipient-grid19 label.unavailable{opacity:.42;cursor:default}.teacher-recipient-grid19 input{accent-color:#3c7159;flex-shrink:0;width:15px;height:15px}.teacher-recipient-grid19 label b{font:17px var(--v19-kai);overflow-wrap:anywhere}.teacher-recipient-grid19 small{color:#8b8565;margin-top:4px;font-size:10px;line-height:1.5;display:block}.teacher-grant-summary19{border-top:1px solid #bcb28766;margin-top:17px;padding-top:10px}.teacher-grant-summary19 p{color:#758064;font-size:13px;line-height:1.8}.teacher-grant-summary19 .primary-button{font-family:var(--v19-kai);justify-content:center;width:100%;min-height:49px;margin-top:13px;font-size:20px}.teacher-setting-scope19{align-items:end;gap:25px;margin:20px 0;display:flex}.teacher-setting-scope19 label{min-width:240px}.teacher-setting-scope19 p{color:#7d856d;flex:1;font-size:13px;line-height:1.8}.teacher-speed-grid19{grid-template-columns:1fr 1fr;gap:22px;display:grid}.teacher-speed-grid19>article{background:linear-gradient(115deg,#f3e6bf,#fff9df,#eadbb5);border:1px solid #b5a273;padding:24px;position:relative;box-shadow:inset 0 0 0 5px #b9a66d16}.teacher-speed-grid19 h3{font:28px var(--v19-kai);color:#345b49;margin:0 0 8px}.teacher-speed-grid19 article>small{color:#879171;font-size:12px}.teacher-lang-seal19{color:#946b3e;font:27px var(--v19-kai);outline-offset:3px;border:1px solid #bd985b;outline:1px solid #bc985940;padding:4px 8px;position:absolute;top:20px;right:20px}.teacher-threshold-row19{border-top:1px solid #bba77755;justify-content:space-between;align-items:center;gap:16px;margin-top:23px;padding-top:18px;display:flex}.teacher-threshold-row19>span b{font:25px var(--v19-kai);color:#436a51;margin-bottom:5px;display:block}.teacher-threshold-row19>span small{color:#859172;font-size:12px;line-height:1.6;display:block}.teacher-threshold-row19 label{color:#8b805e;max-width:100px;font-size:12px}.teacher-threshold-row19 input{width:100%;font:27px var(--v19-kai);color:#896030;background:#fffceb;border:1px solid #b7a477;border-radius:3px;margin-top:6px;padding:7px 12px;display:block}.teacher-rule-note19{background:#e0e5d2;border-left:4px solid #829670;margin-top:24px;padding:19px 24px}.teacher-rule-note19>b{font:20px var(--v19-kai);color:#4e714f}.teacher-rule-note19 p{color:#6f7e61;margin:7px 0 0;font-size:13px;line-height:1.9}.teacher-idea-note19{font:17px/1.8 var(--v19-kai);color:#6d7656;background:#e3e7d3;border-left:3px solid #a58c51;margin:0 0 20px;padding:15px 20px}.idea-tags19{vertical-align:middle;flex-wrap:wrap;gap:7px;margin-left:12px;display:inline-flex}.idea-tags19 b{font:11px var(--v19-kai);color:#926038;letter-spacing:.02em;background:#e9d8a85c;border:1px solid #bd9c5d;padding:3px 6px}.idea-tags19 .new{color:#fff0c9;background:#873e2e;border-color:#b88a52}.idea-tags19 .draft{color:#837b61;background:#d7ceb5;border-color:#b4a98c}.idea-tags19 .published{color:#437257;background:#d8e1b9;border-color:#9daa76}.idea-contributors small{font:12px var(--v19-kai);color:#92906d;letter-spacing:.1em;margin-bottom:5px;display:block}.idea-contributors strong{font:21px/1.7 var(--v19-kai);color:#8d5035}.student-idea-toolbar19{background:#123b3ecc;border:1px solid #b8a16a66;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;display:flex}.student-idea-toolbar19>div{gap:9px;display:flex}.student-idea-toolbar19 button{font:17px var(--v19-kai);color:#d0d0ac;background:#143c3e;border:1px solid #c1ac713f;border-radius:2px;padding:9px 16px}.student-idea-toolbar19 button.selected{color:#ffebac;background:#426550;border-color:#bea25c}.student-idea-toolbar19>button{color:#e0c788;background:0 0;border:0;font-size:14px}.student-idea-toolbar19 b{color:#d4b26d;margin-left:5px;font:12px system-ui,"Noto Serif SC",sans-serif}.idea-publication19{background:#e4e8d1;border:1px solid #acb27d;margin:22px 0;padding:17px}.idea-publication19 .check-label{align-items:center;font-weight:600;display:flex;gap:9px!important}.idea-publication19 input{accent-color:#35694f;width:auto!important}.idea-publication19 p{color:#677b55;margin:10px 0;font-size:13px;line-height:1.8}.idea-publication19 small{color:#8d7c53;font-size:12px;line-height:1.8;display:block}.inventory19 button:focus-visible,.teacher-workshop19 button:focus-visible,.teacher-battle-settings19 button:focus-visible{outline-offset:3px;outline:3px solid #ecbd57}.inventory19 button:disabled,.teacher-workshop19 button:disabled,.teacher-battle-settings19 button:disabled{cursor:default}@media (width>=1600px){.inventory-item-art19{height:190px}}@media (width<=1150px){.inventory-layout19{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:20px;padding:0 20px}.inventory-chest19{padding:20px 16px}.inventory-tabs19{gap:5px}.inventory-tabs19 button{font-size:15px}.inventory-item-art19{height:145px}.inventory-item19 b{font-size:18px}.inventory-items19{gap:9px}.teacher-price-grid19{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grant-layout19{grid-template-columns:1fr}.teacher-gift19{display:none}.teacher-speed-grid19{grid-template-columns:1fr}.teacher-setting-scope19{flex-wrap:wrap;align-items:start;gap:8px}.teacher-setting-scope19 p{flex-basis:100%}.teacher-recipient-grid19{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=850px){.inventory-layout19{grid-template-columns:1fr;gap:24px;max-width:730px}.inventory-mirror19{padding-top:16px}.inventory-hero19{height:370px}.inventory-mirror-title19{text-align:left;position:absolute;top:23px;left:24px}.inventory-mirror-title19 b{font-size:23px}.inventory-hero19>img{height:97%;left:48%}.inventory-pet19{width:31%;right:3%}.inventory-profession19{padding:10px 25px 20px}.inventory-heading19{gap:20px;max-width:730px}.inventory-heading19 h1{font-size:32px}.inventory-item-art19{height:190px}.inventory-item19 b{font-size:22px}.inventory-layout19 .inventory-chest19{min-height:0}.inventory19 .v19-nav .brand-lockup{display:none}.v19-nav>div{gap:10px}.v19-nav button{font-size:16px}.v19-nav b{font-size:21px}.inventory19{background-attachment:scroll}.teacher-grant-layout19,.teacher-speed-grid19{grid-template-columns:1fr}.teacher-recipient-grid19{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.inventory-heading19{margin:22px auto;padding:0 17px}.inventory-heading19 h1{letter-spacing:.05em;font-size:27px}.inventory-heading19 .chapter-seal{padding:8px 5px;font-size:19px}.inventory-heading19 small{letter-spacing:.06em;font-size:10px}.inventory-heading19 p{font-size:15px}.inventory-total19{display:none}.inventory-layout19{padding:0 12px}.v19-nav{padding:12px}.v19-nav>div>span{font-size:12px}.v19-nav b{font-size:18px}.v19-nav button{padding:7px 10px}.inventory-mirror-title19{top:22px;left:18px}.inventory-mirror-title19 b{font-size:22px}.inventory-mirror-title19 small{font-size:12px}.inventory-hero19{height:330px}.inventory-hero19>img{height:94%;left:47%}.inventory-pet19{width:35%;height:36%;right:1%}.inventory-chest19{padding:15px 12px}.inventory-tabs19{gap:4px;padding-bottom:14px}.inventory-tabs19 button{gap:6px;padding:8px 2px;font-size:14px}.inventory-tabs19 i{font-size:22px}.inventory-tabs19 small{margin-left:3px;font-size:10px}.inventory-item-art19{height:140px}.inventory-item19 b{font-size:18px}.inventory-item19>small{font-size:10px;line-height:1.6}.inventory-items19{gap:7px}.inventory-detail-heading19 h2{font-size:27px}.inventory-detail-actions19 .v17-gold{width:100%;min-width:0}.inventory-empty19{padding:20px 10px}.inventory-empty19 h2{font-size:24px}.pet-choose19{padding:14px}.pet-choose-grid19 .pet-portrait19{height:100px}.pet-choose-grid19 b{font-size:16px}.pet-choose19 h2{font-size:23px}.pet-evolution19 .pet-portrait19{height:76px}.teacher-banner19{padding:20px}.teacher-banner19 h2{font-size:28px}.teacher-price-grid19{gap:10px}.teacher-price-grid19>article{padding:10px}.teacher-price-art19{height:150px}.teacher-price-grid19 h3{font-size:22px}.teacher-tabs19 button{padding:10px 19px}.teacher-grant-form19{padding:15px}.teacher-grant-filters19{grid-template-columns:1fr}.teacher-recipient-grid19{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.teacher-recipient-grid19 label{gap:4px;padding:8px 4px}.teacher-recipient-grid19 label b{font-size:16px}.teacher-threshold-row19{gap:10px}.teacher-speed-grid19>article{padding:20px}.teacher-setting-scope19 label{width:100%}.teacher-rule-note19{padding:17px}.student-idea-toolbar19{padding:12px}.student-idea-toolbar19>div{gap:6px;width:100%}.student-idea-toolbar19 button{padding:9px 11px;font-size:15px}.trading-house17 .v17-nav{flex-wrap:wrap;gap:7px}.trading-house17 .v17-nav button{padding:7px 10px;font-size:15px}.shop-pet-preview19>.pet-portrait19{height:145px}.shop-pet-preview19>b{padding:5px 9px;font-size:13px}}@media (prefers-reduced-motion:reduce){.inventory19 *,.teacher-workshop19 *{scroll-behavior:auto}}.battle19 .v17-nav{min-height:54px}.battle19 .v17-nav>span{align-items:baseline;gap:17px;display:flex}.battle19 .v17-nav>span small{letter-spacing:.05em;color:#afc9bd;font-size:14px}.battle19 .v17-nav>div{align-items:center;gap:18px;display:flex}.battle19 .v17-nav>div>b{color:#eadcb5;font:600 19px ui-monospace,"Noto Serif SC",monospace}.battle-stage19{height:clamp(300px,43vh,500px)}.battle19 .battle19-monster{aspect-ratio:2/3;background-position:bottom;background-repeat:no-repeat;background-size:contain;width:100%;display:block}.battle19.map-battle19 .cinema-monster{width:min(380px,34vw);height:85%}.battle19.map-battle19 .cinema-monster>div,.battle19.map-battle19 .battle19-monster{height:100%}.battle19.suppressed19 .cinema-monster{opacity:.4;filter:saturate(.45);transition:opacity .3s}.battle19 .boss-hud17{top:12px}.battle19 .boss-hud17.enemy{min-width:220px}.battle19 .boss-hud17.enemy>span{min-height:18px;font-size:13px}.battle19 .boss-hud17 meter{height:11px}.battle-shield19{background:#102e39;border:1px solid #719ca64d;border-radius:3px;height:20px;margin-top:7px;position:relative;overflow:hidden}.battle-shield19>i{background:linear-gradient(90deg,#4b76a4,#8bd7ef);transition:width .2s;position:absolute;top:0;bottom:0;left:0}.battle-shield19>span{color:#c2dfed;text-shadow:0 1px 3px #073649;place-items:center;font:11px system-ui,"Noto Serif SC",sans-serif;display:grid;position:absolute;inset:0}.battle-shield19.active>span{color:#fff}.battle19 .boss-rule17{font-size:12px;bottom:8px}.battle-blessing19{z-index:20;color:#d8ffbf;font:700 32px var(--v17-kai);text-shadow:0 2px 3px #0c403b,0 0 15px #8bdea755;pointer-events:none;animation:1.8s ease-out both blessing-rise19;position:absolute;top:28%;left:26%}.battle-idle19{z-index:19;color:#ffe0a1;font:19px var(--v17-kai);background:#4b291dec;border:1px solid #d2ac6d;border-radius:4px;padding:9px 17px;position:absolute;top:42%;right:10%;box-shadow:0 6px 20px #24150833}.battle19 .boss-metrics17{padding:10px 0}.battle19 .boss-metrics17 b{font-size:clamp(24px,2.5vw,32px)}.battle19 .boss-metrics17 small{font-size:12px}.battle-boons19{color:#b9cbb8;font:14px var(--v17-kai);background:#143c41;border-bottom:1px solid #cfb57544;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:8px 20px;display:grid}.battle-boons19>span{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.battle-boons19 b{color:#d9c68e;font-weight:500}.battle-boons19 small{opacity:.85;font:11px system-ui,"Noto Serif SC",sans-serif}.battle-boons19 .unlocked{color:#aef5c3}.battle-boons19 .unlocked b{color:#d5ffb5}.battle19 .battle-paper19{margin-top:8px;padding:8px 24px 12px}.battle19 .battle-paper19 .q14-prompt{min-height:84px;padding:10px 8px;font-size:clamp(29px,3vw,43px);line-height:1.6}.battle19 .battle-paper19 .q14-input{min-height:40px;font-size:17px}.battle19 .battle-paper19>p{min-height:19px;margin:6px 0}.battle19 .error-text{color:#963f2e!important}.battle19 .error-text button{border-bottom:1px solid;margin-left:12px}.battle19 .jade-keyboard{padding-bottom:0}.battle-modal19{z-index:70;padding:16px;overflow-y:auto}.battle-modal19>section{border:1px solid #c3a368;color:#244642;text-align:center;background:linear-gradient(125deg,#f5eccf,#fff9e7 55%,#e8d8ac);border-block:6px solid #a57c44;width:min(560px,100%);max-width:560px;max-height:calc(100dvh - 32px);padding:26px 32px;position:relative;overflow-y:auto;box-shadow:0 15px 90px #041416cc,0 0 0 5px #83713b4d}.battle19 .battle-modal19 h2{font:700 35px/1.3 var(--v17-kai,"KaiTi",serif);letter-spacing:.06em;margin:14px 0}.battle19 .battle-modal19 p{font:600 19px/1.7 var(--v17-kai,"KaiTi",serif);color:#365b51;margin:12px 0}.battle19 .battle-modal19 button:not(.q14-start){color:#2f6253;width:100%;min-height:52px;font:700 21px/1.35 var(--v17-kai,"KaiTi",serif);background:#f6f1da;border:2px solid #658e7a;border-radius:5px;margin:12px 0 0;padding:11px 16px;text-decoration:none;display:block;box-shadow:inset 0 0 0 2px #ffffff40}.battle19 .battle-modal19 button.v17-gold{color:#422d19;background:linear-gradient(#f6d994,#dab269);border-color:#aa7b35;box-shadow:inset 0 0 0 2px #fff5ce66,0 3px #a07b3b44}.battle19 .battle-modal19 button.battle-save20{color:#1a594c;background:linear-gradient(#f4f3df,#dce9d8);border-color:#578472}.battle19 .battle-modal19 button.battle-abandon19{color:#853e2b;background:#f5e8d3;border-color:#b78264}.battle19 .battle-modal19 button:hover:not(:disabled){filter:brightness(1.06);outline-offset:2px;outline:2px solid #b5965444}.battle19 .battle-modal19 button:focus-visible{outline-offset:3px;outline:3px solid #246c5c}.battle19 .battle-modal19 button:disabled{opacity:.58;cursor:wait}.battle-modal-actions20{gap:12px;margin-top:20px;display:grid}.battle19 .battle-modal19 .battle-modal-actions20>button{margin:0}.battle-end20{border-top:1px dashed #b8a06d;margin-top:5px;padding-top:15px}.battle19 .battle-modal19 .battle-end20>button{margin:0}.battle-end20>small{font:600 17px/1.5 var(--v17-kai,"KaiTi",serif);color:#7c6045;margin-top:8px;display:block}.battle19 .battle-modal19 .q14-result-stats{flex-wrap:wrap;gap:18px;font-size:21px;font-weight:700}@media (width<=600px){.battle-modal19>section{padding:22px 18px}.battle19 .battle-modal19 h2{font-size:32px}.battle19 .battle-modal19 p{font-size:18px}.battle19 .battle-modal19 button:not(.q14-start){min-height:50px;font-size:20px}}.battle-countdown19{font:100px/1.3 var(--v17-kai);color:#497a6a;margin:10px 0;display:block}.battle-ready-rules19{color:#6c673f;font:600 18px var(--v17-kai);border-block:1px solid #ae995b55;gap:9px;margin:15px 0;padding:14px 0;display:grid}.battle-pause-stats19,.battle-rewards19{color:#887032;font:700 20px var(--v17-kai);flex-wrap:wrap;justify-content:center;gap:15px;margin:18px 0;display:flex}.battle-modal19 .q14-result-stats{gap:18px}.battle19.defeated19 .battle-paper19{filter:saturate(.55)}@keyframes blessing-rise19{0%{opacity:0;transform:translateY(12px)}20%{opacity:1}75%{opacity:1}to{opacity:0;transform:translateY(-20px)}}@media (width>=1600px){.battle19 .battle-paper19 .jade-keyboard{max-width:1050px}.battle19 .battle-paper19 .q14-prompt{font-size:46px}.battle-boons19{padding-block:10px;font-size:16px}}@media (width<=1000px){.battle19 .v17-nav>span{gap:8px}.battle19 .v17-nav>span small{font-size:12px}.battle19 .battle-stage19{height:335px}.battle19 .boss-hud17{width:32%;padding:8px 10px}.battle19 .boss-hud17 b{font-size:18px}.battle19 .battle-boons19{grid-template-columns:1fr 1fr;padding:7px 10px}.battle-boons19>span:last-child{grid-column:1/-1;font-size:12px}.battle19 .boss-metrics17>span{padding-inline:11px}.battle19 .battle-paper19{padding-inline:14px}.battle19 .boss-metrics17 small{font-size:10px}.battle19 .boss-metrics17 b{font-size:24px}}@media (width<=800px){.battle19 .v17-nav>span small{display:none}.battle19 .v17-nav>div{gap:8px}.battle19 .v17-nav>div>b{font-size:15px}.battle19 .battle-stage19{height:315px}.battle19.map-battle19 .cinema-monster{width:44vw;height:76%}.battle19 .boss-hud17.enemy{width:40%;min-width:0}.battle19 .boss-hud17.player{width:40%}.battle19 .boss-hud17 b{font-size:16px}.battle19 .boss-hud17>span{font-size:11px}.battle19 .battle-paper19 .jade-keyboard{min-width:0;display:block}.battle19 .jade-keyboard kbd{min-width:0;font-size:10px}.battle19 .battle-paper19 .q14-prompt{font-size:28px}.battle19 .battle-idle19{font-size:15px;top:45%;right:5%}.battle19 .battle-blessing19{font-size:26px;left:20%}.battle19 .boss-metrics17{grid-template-columns:1fr 1fr;gap:10px}.battle19 .battle-boons19{font-size:12px}.battle19 .boss-rule17{padding:5px 8px;font-size:10px}.battle19 .battle-paper19 .q14-input{font-size:15px}}@media (prefers-reduced-motion:reduce){.battle-blessing19{animation:none}.battle-shield19>i{transition:none}}.battle19.suppressed19 .cinema-monster>div.cinema-pounce{animation:none}@media (width>=801px) and (height<=850px){.battle19 .battle-stage19{height:clamp(240px,32vh,280px)}.battle19 .battle-paper19 .q14-prompt{min-height:66px;padding-block:6px;font-size:32px}.battle19 .battle-paper19{padding-block:6px}.battle19 .battle-paper19 .q14-input{min-height:34px;padding-block:6px}.battle19 .battle-boons19{padding-block:6px}.battle19 .boss-metrics17{padding-block:8px}.battle19 .battle-paper19 .jade-keyboard{padding-top:6px}.battle19 .keyboard-row kbd{height:22px}}.pet-portrait19{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.pet-placeholder19{color:#dcce9d;min-height:70px;font:32px var(--v17-kai,"KaiTi",serif);opacity:.65;place-items:center;display:grid}.pet-companion19{z-index:5;left:var(--pet-left,28%);bottom:var(--pet-bottom,20px);width:var(--pet-width,165px);height:var(--pet-height,124px);pointer-events:none;position:absolute}.pet-body19{transform-origin:50% 90%;animation:4s ease-in-out infinite pet-breathe19;position:absolute;inset:0}.pet-bird .pet-body19{animation:3.2s ease-in-out infinite pet-hover19}.pet-body19.pet-striking19{animation:.64s ease-out pet-pounce19,4s ease-in-out .64s infinite pet-breathe19}.pet-bird .pet-body19.pet-striking19{animation:.64s ease-out pet-wingbeat19,3.2s ease-in-out .64s infinite pet-hover19}.pet-shadow19{background:#072e3b75;border-radius:50%;height:8%;position:absolute;bottom:0;left:20%;right:15%}.pet-bird .pet-shadow19{bottom:calc(-1 * var(--pet-hover,35px));opacity:.35;transform:scale(.75)}.pet-companion19>small{text-align:center;color:#fff0bf;text-shadow:0 1px 2px #061b26,0 0 4px #061b26;font:700 13px var(--v17-kai,"KaiTi",serif);white-space:nowrap;position:absolute;bottom:-17px;left:-12%;right:-12%}.pet-projectile19{z-index:8;--pet-color:#87f5e9;--pet-dark:#157a89;--pet-soft:#55dcc95c;pointer-events:none;position:absolute;inset:0;overflow:hidden}.pet-projectile19.pet-bird{--pet-color:#ffdc85;--pet-dark:#d15c32;--pet-soft:#e897395c}.pet-projectile19.pet-turtle{--pet-color:#bdeda2;--pet-dark:#387a68;--pet-soft:#8cc99a5c}.pet-charge19{left:var(--pet-ox,38%);top:var(--pet-oy,72%);border:2px solid var(--pet-color);background:radial-gradient(circle,#fffbe4 8%,var(--pet-soft) 42%,transparent 68%);width:46px;height:46px;box-shadow:0 0 8px var(--pet-soft);border-radius:50%;margin:-23px;animation:.23s ease-out both pet-charge19;position:absolute}.pet-flight19{left:var(--pet-ox,38%);top:var(--pet-oy,72%);width:54px;height:40px;margin:-20px -27px;animation:.44s linear .18s both pet-flight19;position:absolute}.pet-bolt19{width:100%;height:100%;transform:rotate(var(--pet-angle,-12deg));display:block;position:relative}.pet-bolt19 svg{width:100%;height:100%;filter:drop-shadow(0 1px 2px var(--pet-dark));display:block;position:relative;overflow:visible}.pet-solid19{fill:var(--pet-color);stroke:#fff9d8;stroke-width:2.5px;stroke-linejoin:round}.pet-detail19{fill:none;stroke:var(--pet-dark);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.pet-tail19{background:linear-gradient(90deg,transparent,var(--pet-soft) 30%,var(--pet-color));border-radius:100% 15% 15% 100%;width:72px;height:12px;position:absolute;top:34%;right:70%;box-shadow:0 3px 0 -1px #fffde080}.pet-bird .pet-tail19{background:linear-gradient(90deg,#0000,#e47650b3,#ffe2a8);height:7px;top:41%}.pet-turtle .pet-tail19{background:linear-gradient(90deg,transparent,var(--pet-soft),#f4f8c8);width:48px;height:14px;top:34%}.pet-impact19{left:var(--pet-tx,73%);top:var(--pet-ty,56%);width:76px;height:76px;margin:-38px;animation:.38s ease-out .62s both pet-impact19;position:absolute}.pet-impact19:before{content:"";border:3px solid var(--pet-color);background:radial-gradient(circle,#fffdeb 0 9%,var(--pet-color) 12%,var(--pet-soft) 32%,transparent 65%);border-radius:50%;position:absolute;inset:7%}.pet-impact19 i{background:#fffae5;border-radius:50%;width:5px;height:80%;position:absolute;top:10%;left:47%;transform:rotate(30deg)}.pet-impact19 i:nth-child(2){background:var(--pet-color);height:68%;top:16%;transform:rotate(90deg)}.pet-impact19 i:nth-child(3){transform:rotate(150deg)}.pet-hit-number19{left:var(--pet-tx,73%);top:calc(var(--pet-ty,56%) - 22px);text-align:center;color:#fff5d3;border:1px solid var(--pet-color);min-width:84px;font:900 25px/1.1 var(--v17-kai,"KaiTi",serif);text-shadow:0 1px 2px #073b3e;background:#123a41cf;border-radius:4px;padding:5px 10px;animation:.95s ease-out .62s both pet-number19;position:absolute}.pet-hit-number19 small{font:700 13px/1.5 var(--v17-kai,"KaiTi",serif);color:var(--pet-color);white-space:nowrap;display:block}@keyframes pet-breathe19{50%{transform:translateY(-1.2px)}}@keyframes pet-hover19{50%{transform:translateY(-4px)}}@keyframes pet-pounce19{0%,to{transform:translate(0)}26%{transform:translate(-3px,1px)}50%,70%{transform:translate(5px,-3px)}}@keyframes pet-wingbeat19{0%,to{transform:translate(0)}26%{transform:translate(-2px,-4px)}52%{transform:translate(5px,-7px)}}@keyframes pet-charge19{0%{opacity:0;transform:scale(1.2)}40%{opacity:1}80%{opacity:1;transform:scale(.65)}to{opacity:0;transform:scale(.25)}}@keyframes pet-flight19{0%{opacity:0;transform:translate(0)}8%,94%{opacity:1}to{opacity:0;transform:translate(var(--pet-dx,34vw),var(--pet-dy,-8vh))}}@keyframes pet-impact19{0%{opacity:0;transform:scale(.4)}15%{opacity:1}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}@keyframes pet-number19{0%{opacity:0;transform:translate(-50%)}12%,55%{opacity:1}to{opacity:0;transform:translate(-50%,-32px)}}.shop-preview-stage17 .pet-projectile19{display:none}@media (width<=800px){.pet-companion19>small{font-size:11px}.pet-flight19{width:46px;height:35px;margin:-17px -23px}.pet-tail19{width:58px}.pet-hit-number19{font-size:22px}}@media (prefers-reduced-motion:reduce){.pet-body19,.pet-body19.pet-striking19,.pet-bird .pet-body19,.pet-bird .pet-body19.pet-striking19{animation:none}.pet-charge19,.pet-flight19{display:none}.pet-projectile19 .pet-impact19{animation:.6s both pet-flash19;animation-duration:.6s!important}.pet-projectile19 .pet-hit-number19{animation:1.3s both pet-flash19;transform:translate(-50%);animation-duration:1.3s!important}}@keyframes pet-flash19{0%,80%{opacity:1}to{opacity:0}}.active-run19{z-index:80;color:#f5e4b1;max-width:calc(100vw - 32px);font:15px var(--shanhai-display,"KaiTi",serif);background:#173d3af5;border:1px solid #c6a35f;border-radius:6px;align-items:center;gap:18px;padding:10px 18px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 6px 22px #041d2980}.active-run19 button{white-space:nowrap;color:#24443c;background:#e4c17c;border-radius:3px;padding:8px 14px;font-weight:700}.teacher-quests14 .q14-config-grid article>div.quest-reward-fields19{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-total19{width:100%;font:20px var(--shanhai-display,"KaiTi",serif);color:#76582d}@media (width<=600px){.active-run19{gap:9px;padding:8px 10px;font-size:13px;bottom:10px}}.scene-paused19 *{animation-play-state:paused!important}.gratitude20{font-family:var(--v19-kai);color:#254a40;min-width:0}.gratitude-layout20{grid-template-columns:minmax(0,1.65fr) minmax(250px,.8fr);align-items:start;gap:24px;display:grid}.gratitude-writing20{gap:23px;min-width:0;display:grid}.gratitude-panel20{background:linear-gradient(106deg,#e7d6ae,#fff7dd 10%,#f8edcb 90%,#e6d2a5);border:1px solid #b29a62;min-width:0;margin:0;padding:20px 24px 24px;box-shadow:inset 0 0 0 5px #c3a56918,0 5px 18px #2947360b}.gratitude-panel20 legend{font:700 24px/1.5 var(--v19-kai);color:#214e42;align-items:center;gap:10px;padding:0 10px;display:flex}.gratitude-panel20 legend>i{color:#f4df9d;background:#315d4b;border:1px solid #a78a4e;padding:0 6px;font-size:21px;font-style:normal;line-height:1.4;box-shadow:inset 0 0 0 3px #fff0bd14}.gratitude-panel20 legend>small{color:#786e47;margin-left:3px;font-size:13px;font-weight:400}.gratitude-panel20 label{font:700 17px/1.5 var(--v19-kai);color:#315649;gap:8px;min-width:0;display:grid}.gratitude-panel20 input:not([type=checkbox]),.gratitude-panel20 textarea,.gratitude-panel20 select{box-sizing:border-box;color:#1c473e;width:100%;min-width:0;font:18px/1.5 var(--v19-kai);background:#fffbee;border:1px solid #b5a478;border-radius:2px;margin:0;padding:11px 12px;box-shadow:inset 0 1px 4px #745d2410}.gratitude-panel20 textarea{resize:vertical;min-height:150px}.gratitude-panel20 input::placeholder,.gratitude-panel20 textarea::placeholder{color:#8a8a6b;opacity:1;font-size:16px;font-weight:400}.gratitude-panel20 input:focus-visible,.gratitude-panel20 select:focus-visible,.gratitude-panel20 textarea:focus-visible{outline-offset:2px;border-color:#568c72;outline:2px solid #568c72}.gratitude-filters20{grid-template-columns:1fr 1fr;gap:15px;display:grid}.gratitude-select-tools20{flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0 13px;font-size:16px;display:flex}.gratitude-select-tools20 strong{color:#6b5a2d;margin-right:auto}.gratitude-select-tools20 button{font:700 15px var(--v19-kai);color:#5a7152;background:0 0;border:0;border-bottom:1px solid #a99a64;min-height:30px;padding:4px 0}.gratitude-roster20{scrollbar-width:thin;scrollbar-color:#9d9d70 #eee3c2;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:290px;padding:3px;display:grid;overflow:auto}.gratitude-roster20>label{cursor:pointer;background:#fff9e5;border:1px solid #c4b68d;align-items:center;gap:9px;min-height:65px;padding:12px 10px;display:flex}.gratitude-roster20>label.selected{background:#dfe8c9;border-color:#5c8060;box-shadow:inset 3px 0 #698458}.gratitude-roster20 input[type=checkbox]{accent-color:#386f56;flex:0 0 18px;width:18px;height:18px;margin:0}.gratitude-roster20 label b{font:700 20px/1.3 var(--v19-kai);overflow-wrap:anywhere;display:block}.gratitude-roster20 label small{color:#7a7958;font:13px/1.5 var(--v19-kai);margin-top:4px;display:block}.gratitude-empty20{color:#7e7f60;font:17px/1.7 var(--v19-kai);grid-column:1/-1;margin:0;padding:20px 0}.gratitude-chosen20{border-top:1px solid #c0ab78;margin-top:22px;padding-top:17px}.gratitude-chosen20>div:first-child{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.gratitude-chosen20 b{color:#536647;font-size:17px}.gratitude-chosen20 small{color:#86764e;font-size:13px}.gratitude-chosen-list20{scrollbar-width:thin;scrollbar-color:#9d9d70 #eee3c2;gap:8px;max-height:275px;padding-right:3px;display:grid;overflow:auto}.gratitude-person20{background:#e6e8d150;border:1px solid #b9b58b70;grid-template-columns:minmax(95px,1fr) minmax(100px,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.gratitude-person20>div small{margin-top:4px;font-size:12px;line-height:1.6;display:block}.gratitude-person20>label{color:#7c7958;gap:3px;font-size:12px}.gratitude-person20 input[type=text]{min-height:38px;padding:6px 9px;font-size:17px}.gratitude-person20>button{color:#9b533c;font:15px var(--v19-kai);background:0 0;border:0;padding:7px 0}.gratitude-existing20{border-bottom:1px solid #c8b789;margin-bottom:21px;padding-bottom:16px}.gratitude-existing20 summary{color:#827044;cursor:pointer;font-size:16px;line-height:1.7}.gratitude-existing20 label{margin-top:12px;font-size:14px}.gratitude-existing20 p{font:14px/1.8 var(--v19-kai);color:#896c3c;margin:12px 0 0}.gratitude-existing20 p>button{font:inherit;color:#35634d;background:0 0;border:0;margin-left:10px;text-decoration:underline}.gratitude-field20{margin-top:17px;position:relative}.gratitude-field20 .gratitude-count20{font:12px var(--v19-kai);text-align:right;color:#8c835f;margin-top:-2px}.gratitude-meta20{grid-template-columns:minmax(0,1.7fr) minmax(105px,.8fr);gap:14px;margin-top:19px;display:grid}.gratitude-meta20 label{font-size:15px;font-weight:400}.gratitude-gift20{text-align:center;color:#e4d4a8;background:radial-gradient(at 50% 45%,#7fba852b,#0000 70%),linear-gradient(135deg,#214f51,#103d41 75%);border:1px solid #ba9e5e;min-width:0;padding:26px 22px 20px;position:sticky;top:20px;overflow:hidden;box-shadow:inset 0 0 0 7px #0b282f36,0 8px 22px #20483420}.gratitude-gift20:before{content:"";pointer-events:none;border:1px solid #bcb07733;position:absolute;inset:9px}.gratitude-gift20>small{font:13px var(--v19-kai);color:#c8caa3;letter-spacing:.09em;margin-top:7px;display:block}.gratitude-gift20 h2{font:700 35px/1.4 var(--v19-kai);color:#ffe4a3;letter-spacing:.13em;margin:11px 0 0}.gratitude-gift-seal20{writing-mode:vertical-rl;color:#e6c578;font:14px var(--v19-kai);letter-spacing:.18em;background:#1a4748;border:1px solid #c2a166;padding:7px 3px;position:absolute;top:23px;right:20px}.gratitude-gift-art20{height:clamp(250px,28vw,360px);margin:6px -22px 10px;position:relative;overflow:hidden}.gratitude-gift-art20>img{object-fit:contain;filter:drop-shadow(0 6px 7px #001a2275);width:auto;max-width:none;height:100%;position:absolute;left:50%;transform:translate(-50%)}.gratitude-gift20>p{font:18px/1.8 var(--v19-kai);color:#ead9a7;margin:18px 0}.gratitude-gift20 dl{text-align:left;border-block:1px solid #b8a96960;gap:12px;margin:0;padding:12px 0;display:grid}.gratitude-gift20 dl>div{font:15px/1.7 var(--v19-kai);gap:13px;display:flex}.gratitude-gift20 dt{color:#aaa87d;flex-shrink:0}.gratitude-gift20 dd{color:#e2dec0;margin:0}.gratitude-gift20 .gratitude-gift-note20{color:#b8c4a7;margin:15px 0 0;font-size:14px}.gratitude-actions20{border-top:1px solid #b8aa79;justify-content:space-between;align-items:center;gap:20px;margin:23px 0 0;padding:20px 0;display:flex}.gratitude-actions20>p{font:16px/1.7 var(--v19-kai);color:#7b704b;margin:0}.gratitude-actions20>div{flex-shrink:0;align-items:center;gap:10px;display:flex}.gratitude20 .primary-button,.gratitude20 .secondary-button{font:700 19px/1.5 var(--v19-kai);text-align:center;border-radius:3px;justify-content:center;min-height:48px;padding:10px 19px}.gratitude20 .primary-button{color:#3c321b;background:linear-gradient(#e6c97e,#c9a455);border:1px solid #b3904b;box-shadow:inset 0 0 0 3px #ffedb434}.gratitude20 .secondary-button{color:#38624e;background:#e9ecd8;border:1px solid #97a176}.gratitude20 button:disabled{opacity:.5}.gratitude-preview20{border:1px solid #ac8e52;background:linear-gradient(105deg,#dfcb99,#fff4d0 9% 91%,#dec797);border-block:6px solid #96723d;margin-top:16px;padding:28px 30px;scroll-margin:25px;box-shadow:inset 0 0 0 5px #d3bb823f,0 10px 23px #1b3e2d12}.gratitude-preview-head20{color:#7d6438;border-bottom:1px solid #c0ab77;flex-wrap:wrap;align-items:center;gap:14px;padding-bottom:17px;display:flex}.gratitude-preview-head20>span{color:#fff0bd;background:#89513e;border:1px solid #b88b54;padding:4px 7px;font-size:14px}.gratitude-preview-head20>b{font-size:21px;font-weight:400}.gratitude-preview-head20>small{margin-left:auto;font-size:15px}.gratitude-preview20 h2{font:700 29px/1.5 var(--v19-kai);color:#285246;overflow-wrap:anywhere;margin:23px 0 12px}.gratitude-preview20 blockquote{font:18px/1.9 var(--v19-kai);white-space:pre-wrap;overflow-wrap:anywhere;color:#53614a;border-bottom:1px solid #c8b583;margin:0;padding:0 0 19px}.gratitude-preview20>p{font:16px/1.8 var(--v19-kai);color:#7b734e;overflow-wrap:anywhere}.gratitude-preview-authors20>span{color:#928054;font-size:14px;display:block}.gratitude-preview-authors20>strong{color:#8b4d35;font-size:22px;font-weight:700;line-height:1.8}.gratitude-preview-gift20{color:#73784f;background:#e3e3c276;border-block:1px solid #baa77280;flex-wrap:wrap;align-items:center;gap:13px;padding:15px;display:flex}.gratitude-preview-gift20>span{font-size:14px}.gratitude-preview-gift20>b{color:#547250;font-size:21px}.gratitude-preview-gift20>small{margin-left:auto;font-size:14px}.gratitude-preview-actions20{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.idea-rewards20{padding-top:16px;gap:12px!important}.idea-reward20{color:#547052;align-items:center;gap:9px;min-width:0;max-width:100%;display:flex}.idea-reward20>span:last-child small{font:12px var(--v19-kai);color:#8a805a;margin-bottom:5px;display:block}.idea-reward20>span:last-child b{font:700 18px var(--v19-kai);color:#3b6750}.idea-reward20>span:last-child em{font:14px/1.7 var(--v19-kai);color:#7c704c;overflow-wrap:anywhere;margin-top:6px;display:block}.idea-reward20.dream-reward20{background:linear-gradient(120deg,#dbe4c388,#f4e2b6);border:1px solid #bda164;width:100%;padding:8px 14px;box-shadow:inset 0 0 0 3px #faf1ce99}.idea-robe-art20{flex:0 0 95px;width:95px;height:115px;position:relative;overflow:hidden}.idea-robe-art20>img{object-fit:contain;width:auto;max-width:none;height:100%;position:absolute;left:50%;transform:translate(-50%)}.inventory-provenance20{background:linear-gradient(115deg,#dfe6c883,#f5e5b9);border:1px solid #bca16b;margin-top:22px;padding:18px 18px 3px;box-shadow:inset 0 0 0 4px #faf2d256}.inventory-provenance20>div{gap:6px;display:grid}.inventory-provenance20>div>span{font:13px var(--v19-kai);letter-spacing:.15em;color:#8a7042}.inventory-provenance20>div>b{font:700 20px/1.5 var(--v19-kai);color:#3d674f}.inventory-provenance20>article{border-top:1px solid #baa77580;margin-top:13px;padding:14px 0 10px}.inventory-provenance20 header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.inventory-provenance20 h3{font:700 19px/1.6 var(--v19-kai);color:#7e5233;overflow-wrap:anywhere;margin:0}.inventory-provenance20 header small{font:13px var(--v19-kai);color:#8b7851;flex-shrink:0}.inventory-provenance20 article p{font:17px/1.8 var(--v19-kai);color:#667055;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}@media (width<=1250px){.gratitude-layout20{grid-template-columns:minmax(0,1.55fr) minmax(230px,.75fr);gap:18px}.gratitude-panel20{padding:18px}.gratitude-roster20{grid-template-columns:repeat(2,minmax(0,1fr))}.gratitude-gift20{padding-inline:15px}.gratitude-gift-art20{margin-inline:-15px}.gratitude-gift-seal20{display:none}.gratitude-gift20 h2{font-size:31px}.gratitude-actions20{flex-wrap:wrap}.gratitude-actions20>div{margin-left:auto}}@media (width<=980px){.gratitude-layout20{grid-template-columns:1fr}.gratitude-gift20{text-align:left;grid-template-columns:180px minmax(0,1fr);column-gap:23px;padding:20px;display:grid;position:relative;top:auto}.gratitude-gift20>small,.gratitude-gift20>h2,.gratitude-gift20>.teacher-gift-gender19,.gratitude-gift20>p,.gratitude-gift20>dl{grid-column:2}.gratitude-gift-art20{width:210px;height:calc(100% - 30px);margin:0;position:absolute;top:15px;left:0}.gratitude-gift20 .teacher-gift-gender19{justify-content:flex-start;margin-top:12px}.gratitude-gift20 h2{margin-top:6px}.gratitude-gift20>p{margin-block:12px}.gratitude-roster20{grid-template-columns:repeat(4,minmax(0,1fr))}.gratitude-gift20 dl{gap:6px}}@media (width<=720px){.gratitude-panel20{padding:15px}.gratitude-panel20 legend{gap:7px;padding-inline:6px;font-size:21px}.gratitude-panel20 legend>small{font-size:12px}.gratitude-roster20{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gratitude-roster20>label{gap:6px;padding:10px 7px}.gratitude-roster20 label b{font-size:18px}.gratitude-filters20{gap:10px}.gratitude-person20{grid-template-columns:minmax(80px,1fr) minmax(90px,1fr) auto;gap:9px}.gratitude-meta20{grid-template-columns:1fr}.gratitude20 .primary-button,.gratitude20 .secondary-button{padding:10px 15px;font-size:18px}.gratitude-preview20{padding:22px 20px}.gratitude-preview-head20{gap:10px}.gratitude-preview20 h2{font-size:25px}.gratitude-preview-actions20{flex-wrap:wrap}.gratitude-preview-actions20 .primary-button{flex:1;min-width:230px}.gratitude-preview-gift20>small{width:100%;margin-left:0}}@media (width<=480px){.gratitude-filters20{grid-template-columns:1fr}.gratitude-roster20{grid-template-columns:repeat(2,minmax(0,1fr))}.gratitude-actions20>div{flex-wrap:wrap;width:100%}.gratitude-actions20 .primary-button{flex:1}.gratitude-gift20{grid-template-columns:125px minmax(0,1fr);column-gap:10px;padding:16px}.gratitude-gift-art20{width:150px;left:-7px}.gratitude-gift20>small{font-size:11px}.gratitude-gift20 h2{font-size:28px}.gratitude-gift20>p{font-size:16px}.gratitude-gift20 dl>div{gap:8px;font-size:14px}.gratitude-gift20 .teacher-gift-gender19{gap:7px}.gratitude-gift20 .teacher-gift-gender19 button{padding:5px 13px}.gratitude-person20{grid-template-columns:minmax(0,1fr) auto}.gratitude-person20>label{grid-area:2/1}.gratitude-person20>button{grid-area:1/2/3}.gratitude-preview20{padding:20px 17px}.gratitude-preview-head20>b{font-size:19px}}@media (prefers-reduced-motion:reduce){.gratitude20 *{scroll-behavior:auto!important}}.motion-lab20{color:#e9ddb6;min-height:100dvh;font-family:var(--v19-kai,"STKaiti","KaiTi",serif);background:radial-gradient(at 45% 5%,#2b5550aa,#0000 70%),#0b2e32;outline:0}.motion-nav20{background:#08292ddc;border-bottom:1px solid #b69a5866;align-items:center;gap:24px;padding:15px 28px;display:flex}.motion-nav20>button{color:#e4e5c6;min-height:44px;font:700 18px var(--v19-kai,"KaiTi",serif);background:#ffffff08;border:1px solid #a7b19460;border-radius:4px;padding:10px 17px}.motion-nav20>span{letter-spacing:.14em;color:#f3db9a;margin:auto;font-size:23px}.motion-nav20>b{color:#b3c7b4;font-size:17px;font-weight:500}.motion-lab-body20{max-width:1560px;margin:0 auto;padding:28px 32px 24px}.motion-lab-heading20{justify-content:space-between;align-items:center;gap:20px;padding:0 7px 20px;display:flex}.motion-lab-heading20 small{letter-spacing:.2em;color:#baa771;font-size:14px}.motion-lab-heading20 h1{letter-spacing:.14em;color:#f6df9f;margin:5px 0 0;font-size:40px;line-height:1.3}.motion-lab-heading20 p{text-align:right;color:#e2d7ac;margin:0;font-size:19px;line-height:1.7}.motion-lab-heading20 p>span{color:#aac0ab;font-size:15px}.motion-stage20{background:#194047;border:1px solid #c8ae69;border-radius:5px;height:clamp(360px,43vw,620px);position:relative;overflow:hidden;box-shadow:0 16px 50px #00171c60,inset 0 0 0 4px #ffffff16}.motion-stage20 .rig-hero{width:min(540px,43vw);bottom:-10px}.motion-stage20 .cinema-monster{width:min(380px,30vw);right:9%}.motion-stage20 .boss-art17{object-fit:contain;height:100%}.motion-stage-label20{z-index:16;pointer-events:none;background:#093e40e6;border:1px solid #c0ad7273;border-radius:4px;padding:12px 20px;position:absolute;top:18px;left:20px;box-shadow:inset 0 0 0 3px #d0c38e08}.motion-stage-label20 strong{color:#f4dfa6;margin-bottom:4px;font-size:24px;display:block}.motion-stage-label20 span{color:#c0d2bf;font-size:16px}.motion-frame20{color:#e5dbb4;z-index:16;background:#143c3ddc;border:1px solid #9ba57b90;border-radius:3px;padding:7px 12px;font:16px/1.4 ui-monospace,"Noto Serif SC",monospace;position:absolute;top:20px;right:20px}.motion-loading20{z-index:30;text-align:center;color:#f3dfa8;background:#0a2c32e0;flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.motion-loading20 strong{font-size:28px}.motion-loading20 p{color:#c7d5bf;max-width:500px;font-size:18px;line-height:1.7}.motion-loading20 button{color:#233c32;min-height:48px;font:700 20px var(--v19-kai,"KaiTi",serif);background:#bfa76c;border:1px solid #fae4a4;padding:10px 24px}.motion-controls20{border-bottom:1px solid #a5976848;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px 0 18px;display:flex}.motion-play20{flex-wrap:wrap;gap:12px;display:flex}.motion-controls20 button{font:700 20px var(--v19-kai,"KaiTi",serif);color:#e1dfc0;cursor:pointer;background:#284b48;border:1px solid #b5af7e80;border-radius:3px;min-height:49px;padding:11px 20px;box-shadow:inset 0 0 0 2px #d0bd8210}.motion-controls20 button:disabled{opacity:.42;cursor:wait}.motion-controls20 button:hover:not(:disabled){filter:brightness(1.13)}.motion-controls20 button:focus-visible,.motion-nav20 button:focus-visible{outline-offset:4px;outline:3px solid #f9d98e}.motion-controls20 .motion-gold20{color:#263e34;background:linear-gradient(130deg,#b39653,#ead794 48%,#bca361);border-color:#ecd99a}.motion-controls20 .motion-jade20{color:#fff0ba;background:linear-gradient(130deg,#3a7560,#2b5348);border-color:#a4b184}.motion-play20 kbd{opacity:.75;vertical-align:middle;border:1px solid;border-radius:3px;margin-left:8px;padding:3px 6px;font:12px "Noto Serif SC",sans-serif}.motion-rate20{color:#afc0aa;align-items:center;gap:8px;font-size:16px;display:flex}.motion-rate20>span{margin-right:5px}.motion-rate20 button{background:#143d3d;min-height:43px;padding:9px 13px;font-size:17px}.motion-rate20 button.selected{color:#ffe7a9;background:#526145;border-color:#e6cc8c}.motion-lab-note20{font:16px/1.8 var(--v19-kai,"KaiTi",serif);color:#a6bcaa;max-width:1000px;margin:15px 0 0}.motion-reduced20{color:#e6d7a6;background:#726b3528;border-left:3px solid #bbaa69;padding:12px 17px;font-size:17px;line-height:1.7}.motion-paused20 .cinema-scene *{animation-play-state:paused!important}@media (width<=800px){.motion-nav20{gap:10px;padding:12px 14px}.motion-nav20>b{display:none}.motion-nav20>span{margin-left:auto;margin-right:0}.motion-lab-body20{padding:20px 14px}.motion-lab-heading20 h1{font-size:32px}.motion-lab-heading20 p{font-size:16px}.motion-stage20{height:360px}.motion-stage20 .rig-hero{width:340px;left:-26px}.motion-stage20 .cinema-monster{width:240px;right:0}.motion-stage-label20{padding:9px 12px;top:10px;left:10px}.motion-stage-label20 strong{font-size:20px}.motion-frame20{font-size:12px;top:12px;right:10px}.motion-controls20{gap:15px}.motion-controls20 button{padding-inline:15px;font-size:18px}.motion-play20{gap:9px}.motion-rate20{justify-content:flex-end;width:100%}.motion-lab-note20{font-size:15px}}@media (prefers-reduced-motion:reduce){.motion-lab20 .camera-world{transform:none}.motion-lab20 .cinema-monster>div,.motion-lab20 .pet-companion19{animation:none}}.motion-wardrobe21{background:linear-gradient(120deg,#365149c7,#0b302fe6);border:1px solid #b7a36966;grid-template-columns:1.3fr repeat(3,1fr) 1.15fr 1.15fr;gap:12px;margin:0 0 18px;padding:15px 18px;display:grid;box-shadow:inset 0 0 0 3px #cbb37808}.motion-wardrobe21 label{color:#caba86;gap:7px;min-width:0;font-size:16px;display:grid}.motion-wardrobe21 select{color:#f2e2b4;width:100%;min-width:0;min-height:44px;font:700 19px var(--v19-kai,"KaiTi",serif);background:#143d3c;border:1px solid #b29e6c80;border-radius:3px;padding:8px 10px}.motion-wardrobe21 select:focus-visible{outline-offset:2px;outline:3px solid #f3d38a}@media (width<=1050px){.motion-wardrobe21{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.motion-wardrobe21{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.motion-wardrobe21 select{font-size:17px}.motion-wardrobe21 label{font-size:14px}}.boss-stage17 .rig-hero{aspect-ratio:1;width:auto;height:min(510px,41vw,100%);max-height:none}@media (width<=800px){.boss-stage17 .rig-hero{width:auto;height:min(390px,52vw,100%)}}

/* V21 static full-body display: +8% height, unchanged image width.
   Load after index-CDZm1n1C.css. Animated canvases are handled in JS.
   Extra container space preserves each image's ORIGINAL unscaled dimensions.
   Direct-child/outfit selectors deliberately exclude avatars, pets and monsters. */

.welcome-visual > img,
.entry-portrait > img,
.wardrobe-hero > img,
.inventory-hero19 > img,
.equipment-unlock > img,
.treasure-preview > img,
.treasure-symbol > img.portrait-outfit18,
.merch-art17 > img.portrait-outfit18,
.inventory-item-art19 > img.portrait-outfit18,
.teacher-price-art19 > img.portrait-outfit18,
.idea-robe-art20 > img,
.gratitude-gift-art20 > img,
.rig-fallback {
  transform-origin: 50% 100%;
  transform: scaleY(1.08);
}

/* Retain existing horizontal centering; do not stretch a parent or canvas. */
.entry-portrait > img.portrait-outfit18,
.wardrobe-hero > img.portrait-outfit18,
.inventory-hero19 > img,
.idea-robe-art20 > img,
.gratitude-gift-art20 > img,
.rig-fallback {
  transform: translateX(-50%) scaleY(1.08);
}

/* Preserve the original five-pixel shop hover/selected lift. */
.shop-display17:hover .merch-art17 > img.portrait-outfit18,
.shop-display17.selected .merch-art17 > img.portrait-outfit18 {
  transform: translateY(-5px) scaleY(1.08);
}

/* Preserve the four-second welcome animation, including reduced-motion rules. */
.welcome-visual { min-height: 710px; padding-top: 60px; }
.welcome-visual > img { animation-name: hero-float-proportions21; }
@keyframes hero-float-proportions21 {
  0%, 100% { transform: translateY(0) scaleY(1.08); }
  50% { transform: translateY(-8px) scaleY(1.08); }
}
@media (max-width: 1120px) {
  .welcome-visual { min-height: 620px; }
}
@media (max-width: 760px) {
  .welcome-visual { min-height: 540px; }
}
@media (max-height: 800px) and (min-width: 761px) {
  .welcome-visual { min-height: 630px; }
}

/* Percentage-height entry images still receive 340 / 310 / 300px content. */
.entry-portrait { height: 368px; padding-top: 28px; }
.wardrobe-hero { min-height: 550px; padding-top: 40px; }
@media (max-width: 1100px) {
  .entry-portrait { height: 338px; }
}
@media (max-width: 760px) {
  .entry-portrait { height: 328px; }
  .wardrobe-hero { min-height: 0; }
}

/* Absolute images use the padding box: subtract the added height explicitly. */
.inventory-hero19 { height: calc(clamp(340px, 34vw, 460px) + 40px); }
.inventory-hero19 > img { height: calc(97% - 38.8px); }
.inventory-pet19 { height: calc(38% - 15.2px); }
@media (max-width: 850px) {
  .inventory-hero19 { height: 410px; }
  .inventory-hero19 > img { height: calc(97% - 38.8px); }
}
@media (max-width: 600px) {
  .inventory-hero19 { height: 370px; }
  .inventory-hero19 > img { height: calc(94% - 37.6px); }
  .inventory-pet19 { height: calc(36% - 14.4px); }
}

/* Only the outfit shelf grows. Reproduce V21's final responsive height cascade. */
.shop-shelf17.outfit .merch-art17 {
  --proportions21-merch-height: clamp(180px, 18vw, 244px);
  height: calc(var(--proportions21-merch-height) + 24px);
  padding-top: 24px;
}
@supports (height: 1cqw) {
  .shop-shelf17.outfit .merch-art17 {
    --proportions21-merch-height: min(244px, 105cqw);
  }
}
@media (max-width: 1100px) {
  .shop-shelf17.outfit .merch-art17 {
    --proportions21-merch-height: clamp(175px, 28vw, 244px);
  }
}
@media (max-width: 600px) {
  .shop-shelf17.outfit .merch-art17 {
    --proportions21-merch-height: calc(33.3333vw - 16px);
  }
}

/* Mixed item cards retain the original content box for ALL item types.
   Pets/pendants gain empty card space only; their dimensions do not change. */
.inventory-item-art19 { height: 184px; padding-top: 16px; }
.teacher-price-art19 { height: 206px; padding-top: 16px; }
@media (min-width: 1600px) {
  .inventory-item-art19 { height: 206px; }
}
@media (max-width: 1150px) {
  .inventory-item-art19 { height: 161px; }
}
@media (max-width: 850px) {
  .inventory-item-art19 { height: 206px; }
}
@media (max-width: 600px) {
  .inventory-item-art19 { height: 156px; }
  .teacher-price-art19 { height: 166px; }
}

/* Legacy full-body previews. Avoid :has(), which older browsers may lack. */
.equipment-unlock { padding-top: 16px; }
.treasure-preview { padding-top: 52px; }
.treasure-preview > img { flex-shrink: 0; }
.treasure-symbol.mist-robe,
.treasure-symbol.phoenix-robe,
.treasure-symbol.moon-robe,
.treasure-symbol.dream-robe {
  height: 166px;
  padding-top: 16px;
}

/* Reward thumbnails keep their original pixel size inside added headroom. */
.idea-robe-art20 { height: 127px; }
.idea-robe-art20 > img { height: 115px; bottom: 0; }
.gratitude-gift-art20 { height: calc(clamp(250px, 28vw, 360px) + 32px); }
.gratitude-gift-art20 > img { height: calc(100% - 32px); bottom: 0; }

/* V21 switches this gift preview to an absolute, card-height image at 980px.
   Add 40px to card padding; subtract it from the image to retain its old size. */
@media (max-width: 980px) {
  .gratitude-gift20 { padding-top: 60px; }
  .gratitude-gift-art20 { height: calc(100% - 30px); }
  .gratitude-gift-art20 > img { height: calc(100% - 40px); }
}
@media (max-width: 480px) {
  .gratitude-gift20 { padding-top: 56px; }
}

/* The 1296x936 canvas adds 72 source pixels ABOVE the original 864px view.
   Preserve its original rendered pixel scale and ground position. */
.rig-canvas {
  height: 108.333333%;
  top: -8.333333%;
  bottom: auto;
}

/* Keep the world at its original height while the outer scene gains headroom.
   Existing percentage-sized heroes, monsters and projectile positions persist. */
.cinema-scene .camera-world { top: 40px; }

/* Every action stage gets 40px headroom. Width-driven heroes keep their size.
   The old combat grid and page both grow, retaining the typing area's height. */
.combat-page {
  grid-template-rows: 62px minmax(300px, calc(44vh + 40px)) minmax(405px, 1fr);
  height: calc(100dvh + 40px);
  min-height: 800px;
}
@media (max-width: 760px) {
  .combat-page {
    grid-template-rows: 60px 350px auto;
    height: auto;
    min-height: calc(100dvh + 40px);
  }
}
@media (min-width: 761px) and (max-height: 850px) {
  .combat-page {
    grid-template-rows: 48px minmax(250px, calc(30vh + 40px)) minmax(460px, 1fr);
    min-height: 760px;
  }
}

.boss-stage17 { height: calc(clamp(330px, 49vh, 590px) + 40px); }
@media (max-width: 800px) {
  .boss-stage17 { height: 370px; }
}
@media (max-width: 480px) {
  .boss-stage17 { height: 340px; }
}

/* V19 overrides the legacy boss heights; short-desktop mode wins last. */
.battle19 .battle-stage19 { height: calc(clamp(300px, 43vh, 500px) + 40px); }
@media (max-width: 1000px) {
  .battle19 .battle-stage19 { height: 375px; }
}
@media (max-width: 800px) {
  .battle19 .battle-stage19 { height: 355px; }
}
@media (min-width: 801px) and (max-height: 850px) {
  .battle19 .battle-stage19 { height: calc(clamp(240px, 32vh, 280px) + 40px); }
}

.shop-preview-stage17 {
  height: 540px;
  min-height: calc(min(540px, calc(100vw - 16px)) + 44px);
}
@media (min-width: 1700px) {
  .shop-preview-stage17 { height: 600px; }
}
@media (max-width: 1100px) {
  .shop-preview-stage17 { height: 480px; }
}
@media (max-width: 800px) {
  .shop-preview-stage17 { height: 460px; }
}
@media (max-width: 480px) {
  .shop-preview-stage17 { height: 400px; }
}

.motion-stage20 { height: calc(clamp(360px, 43vw, 620px) + 40px); }
@media (max-width: 800px) {
  .motion-stage20 { height: 400px; }
}

/* V21.4. Whole-scene proportions follow the approved 1672×941 composition.
   Every scroll uses nine-slice artwork. Images never share a clipped text area. */
.chronicle213 {
  --chronicle-u:min(.0598086vw,.1062699vh);
  --chronicle-kai:var(--shanhai-display,"KaiTi","STKaiti","Noto Serif CJK SC",serif);
  --chronicle-ink:#153d39;
  --chronicle-head:max(126px,calc(164 * var(--chronicle-u)));
  --chronicle-side:calc(172 * var(--chronicle-u));
  position:relative;isolation:isolate;box-sizing:border-box;width:100%;max-width:none;
  min-height:100vh;margin:0;padding:0 0 16px;overflow-x:hidden;
  background:#10343b url('/assets/cocreate-v21-3/background-9224a48e.webp') center bottom/cover no-repeat;
  color:var(--chronicle-ink);font-family:var(--chronicle-kai);
}
.chronicle213 *,.chronicle213 *::before,.chronicle213 *::after {box-sizing:border-box;}
.chronicle213::before {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#071e2526,transparent 37%,transparent 88%,#061c2445);}
.chronicle213 button {font-family:var(--chronicle-kai);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.chronicle213 button:disabled {cursor:default;opacity:.46;filter:saturate(.35);}
.chronicle213 button:focus-visible,.chronicle213 [tabindex="0"]:focus-visible {outline:3px solid #bf883c;outline-offset:3px;}
.chronicle213__header {height:var(--chronicle-head);position:relative;width:100%;max-width:none;margin:0;}
.chronicle213__title {position:absolute;left:50%;top:calc(32 * var(--chronicle-u));width:calc(520 * var(--chronicle-u));transform:translateX(-50%);margin:0;padding:0;text-align:center;color:#f7d99b;font-family:var(--chronicle-kai);font-size:clamp(48px,calc(84 * var(--chronicle-u)),110px);font-weight:900;line-height:1.12;white-space:nowrap;filter:drop-shadow(0 4px 3px #05212a85);}
.chronicle213__title>img {display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:contain;}
.chronicle213__title>i {display:inline-block;margin:18px 0 0 8px;vertical-align:top;font-size:12px;line-height:1;writing-mode:vertical-rl;font-style:normal;letter-spacing:.1em;padding:4px 2px;background:#a52f24;border:1px solid #d49e68;color:#ffe3b1;}
.chronicle213__jade-button {display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:0;background:transparent url('/assets/cocreate-v21-3/button-1f69cc98.webp') center 46%/105% 196% no-repeat;min-height:clamp(42px,calc(52 * var(--chronicle-u)),62px);width:clamp(154px,calc(200 * var(--chronicle-u)),244px);padding:8px 20px;color:#f7dca9;font-size:clamp(21px,calc(27 * var(--chronicle-u)),32px);font-weight:800;line-height:1.15;text-shadow:0 2px 2px #082b2a;white-space:nowrap;transition:filter .15s,transform .15s;}
.chronicle213__jade-button>span[aria-hidden] {font-family:"Noto Serif SC",serif;font-size:1.4em;line-height:.7;}
.chronicle213__jade-button:hover:not(:disabled) {filter:brightness(1.16);transform:translateY(-1px);}
.chronicle213__jade-button:active:not(:disabled) {transform:translateY(1px);}
.chronicle213__back {position:absolute;top:max(14px,calc(24 * var(--chronicle-u)));left:max(14px,calc(30 * var(--chronicle-u)));z-index:4;width:clamp(192px,calc(244 * var(--chronicle-u)),300px);min-height:clamp(48px,calc(58 * var(--chronicle-u)),70px);font-size:clamp(22px,calc(28 * var(--chronicle-u)),34px);}
.chronicle213__bookmarks {position:absolute;top:0;right:7.5%;z-index:5;display:flex;align-items:flex-start;gap:calc(16 * var(--chronicle-u));}
.chronicle213__bookmark {position:relative;border:0;padding:0;width:calc(86 * var(--chronicle-u));height:calc(224 * var(--chronicle-u));background:transparent url('/assets/cocreate-v21-3/bookmark-idle-b6d392d1.webp') center/162% 100% no-repeat;color:#f7dfb0;font-size:calc(28 * var(--chronicle-u));font-weight:800;line-height:1;filter:drop-shadow(0 4px 3px #041b2177);transition:filter .18s;}
.chronicle213__bookmark.is-selected {height:calc(236 * var(--chronicle-u));background-image:url('/assets/cocreate-v21-3/bookmark-active-d955e9e2.webp');background-size:175% 100%;color:#183d34;}
.chronicle213__bookmark>span {position:absolute;top:11%;left:50%;transform:translateX(-50%);width:1em;writing-mode:vertical-rl;text-orientation:upright;text-align:start;letter-spacing:.035em;line-height:1;}
.chronicle213__bookmark>i {display:none;}
.chronicle213__bookmark:hover {filter:drop-shadow(0 4px 3px #041b2177) brightness(1.13);}
.chronicle213__scroll {position:relative;isolation:isolate;width:calc(100% - 28 * var(--chronicle-u));height:max(570px,calc(680 * var(--chronicle-u)));max-width:none;aspect-ratio:auto;background:none;margin:0 auto;filter:drop-shadow(0 10px 12px #07242c72);animation:chronicle214-unroll .5s cubic-bezier(.2,.7,.3,1) both;}
.chronicle213__scroll::before {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-style:solid;border-color:transparent;border-width:calc(var(--chronicle-side)*.596774) var(--chronicle-side) calc(var(--chronicle-side)*.645161);border-image-source:url('/assets/cocreate-v21-3/scroll-110d5775.webp');border-image-slice:185 310 200 fill;border-image-width:1;border-image-repeat:stretch;}
.chronicle213__leaves {position:absolute;inset:calc(90 * var(--chronicle-u)) calc(var(--chronicle-side)*.94) calc(150 * var(--chronicle-u));min-height:0;min-width:0;}
.chronicle213__spread {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100%;min-height:0;position:relative;animation:chronicle214-page .2s ease-out both;}
.chronicle213__spread::after {content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,#b79152 8%,#b79152 92%,transparent);pointer-events:none;}
.chronicle213__entry {display:grid;grid-template-rows:auto minmax(125px,1fr) auto;gap:4px;min-height:0;min-width:0;margin:0;padding:0 max(14px,calc(25 * var(--chronicle-u)));}
.chronicle213__copy {min-width:0;text-align:center;}
.chronicle213__entry-marks {display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:17px;margin-bottom:4px;font-size:clamp(14px,calc(15 * var(--chronicle-u)),18px);font-weight:700;line-height:1.2;color:#775f3c;}
.chronicle213__ink-tags {display:flex;justify-content:flex-end;gap:8px;}
.chronicle213__ink-tags>span {white-space:nowrap;}
.chronicle213__ink-tags .is-new {color:#a23d2a;}
.chronicle213__ink-tags .is-new::before {content:"· ";}
.chronicle213__entry h2 {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 6px;padding:2px 0;font-family:var(--chronicle-kai);font-size:clamp(28px,calc(40 * var(--chronicle-u)),48px);font-weight:900;line-height:1.15;letter-spacing:.015em;overflow-wrap:anywhere;text-wrap:balance;color:var(--chronicle-ink);}
.chronicle213__entry.title-short h2 {font-size:clamp(36px,calc(58 * var(--chronicle-u)),72px);line-height:1.13;}
.chronicle213__entry.title-long h2 {font-size:clamp(26px,calc(34 * var(--chronicle-u)),42px);}
.chronicle213__entry.title-very-long h2 {font-size:clamp(25px,calc(30 * var(--chronicle-u)),36px);}
.chronicle213__story {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;margin:0;color:#234239;font-size:clamp(18px,calc(23 * var(--chronicle-u)),27px);font-weight:700;line-height:1.45;letter-spacing:.015em;white-space:pre-wrap;overflow-wrap:anywhere;}
.chronicle213__entry.title-short .chronicle213__story {-webkit-line-clamp:1;}
.chronicle213__expand {display:flex;width:max-content;align-items:center;justify-content:center;min-height:24px;margin:4px auto 0;border:0;border-bottom:1px solid #46726566;background:transparent;padding:1px 4px;color:#236958;font-size:clamp(17px,calc(19 * var(--chronicle-u)),23px);font-weight:800;line-height:1.15;}
.chronicle213__expand::after {content:" ›";padding-left:5px;font-family:"Noto Serif SC",serif;font-size:1.2em;}
.chronicle213__expand:hover {color:#164334;border-bottom-color:#164334;}
.chronicle213__picture {min-height:125px;position:relative;align-self:stretch;min-width:0;}
.chronicle213__illustration {display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center center;pointer-events:none;user-select:none;}
.chronicle213__entry-footer {display:flex;justify-content:center;align-items:center;gap:12px;min-width:0;padding:5px 3px 0;border-top:1px solid #ac895947;}
.chronicle213__credits {display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:center;align-items:baseline;column-gap:10px;row-gap:1px;min-width:0;color:#294437;font-size:clamp(18px,calc(22 * var(--chronicle-u)),27px);font-weight:700;line-height:1.35;text-align:center;}
.chronicle213__credit-label {flex:0 0 auto;white-space:nowrap;}
.chronicle213__credits strong {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%;overflow-wrap:anywhere;font-weight:900;}
.chronicle213__version {grid-column:1/-1;font-size:14px;line-height:1.2;color:#846c43;}
.chronicle213__seal {display:block;position:relative;flex:0 0 auto;writing-mode:vertical-rl;text-orientation:upright;min-height:59px;padding:5px 4px 4px;border:1px solid #f5e3be;outline:2px solid #ac3628;border-radius:3px 1px;transform:rotate(-3deg);color:#fff0cf;background:#ac3628;font-size:clamp(17px,calc(21 * var(--chronicle-u)),25px);font-weight:900;letter-spacing:.03em;line-height:1;}
.chronicle213__seal::after {content:"";position:absolute;inset:2px;border:1px solid #f5ddb182;pointer-events:none;}
.chronicle213__seal.stage-accepted {background:#8d4e31;outline-color:#8d4e31;}
.chronicle213__seal.stage-received {background:#727d58;outline-color:#727d58;}
.chronicle213__endleaf {display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:0;padding:20px;color:#4f654f;}
.chronicle213__endleaf img {display:block;width:86%;height:55%;object-fit:contain;opacity:.75;}
.chronicle213__endleaf p {margin:10px 0;font-size:clamp(27px,calc(35 * var(--chronicle-u)),42px);font-weight:800;letter-spacing:.12em;}
.chronicle213__endleaf span {font-size:clamp(20px,calc(23 * var(--chronicle-u)),28px);line-height:1.4;}
.chronicle213__navigation {position:absolute;left:19%;right:19%;bottom:calc(61 * var(--chronicle-u));display:grid;grid-template-rows:auto minmax(25px,auto);gap:5px;}
.chronicle213__pagination {display:flex;justify-content:space-between;align-items:center;gap:20px;min-width:0;}
.chronicle213__page-number {display:flex;justify-content:center;align-items:baseline;gap:12px;font-size:clamp(20px,calc(25 * var(--chronicle-u)),30px);font-weight:800;line-height:1.15;white-space:nowrap;}
.chronicle213__page-number strong {font-size:1.03em;font-weight:800;letter-spacing:.02em;}
.chronicle213__readbar {display:flex;justify-content:center;align-items:center;gap:9px;min-height:25px;font-size:clamp(15px,calc(17 * var(--chronicle-u)),20px);font-weight:700;line-height:1.2;text-align:center;color:#745b37;}
.chronicle213__notice:empty {display:none;}
.chronicle213__read-button {border:0;border-bottom:1px solid #99733c77;background:transparent;color:#6d522b;padding:2px 5px;font-size:inherit;font-weight:800;line-height:1.2;}
.chronicle213__read-button:hover:not(:disabled) {color:#234e3f;border-bottom-color:#234e3f;}
.chronicle213__empty {display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0;text-align:center;padding:20px 8%;}
.chronicle213__empty-ornament {font-size:40px;font-weight:900;color:#a17b3c;margin-bottom:14px;}
.chronicle213__empty h2 {margin:0 0 14px;font:900 clamp(30px,calc(43 * var(--chronicle-u)),54px)/1.25 var(--chronicle-kai);}
.chronicle213__empty p {margin:0 0 20px;font-size:clamp(20px,calc(26 * var(--chronicle-u)),30px);line-height:1.55;font-weight:700;overflow-wrap:anywhere;}
.chronicle213__detail-shade {position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#052a30be;backdrop-filter:blur(4px);}
.chronicle213__detail {--detail-side:88px;position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);gap:20px;width:min(100%,920px);height:min(80vh,760px);min-height:250px;padding:54px 96px 60px;filter:drop-shadow(0 16px 24px #031b2666);}
.chronicle213__detail::before {content:"";position:absolute;inset:0;z-index:-1;border:solid transparent;border-width:52.5px var(--detail-side) 56.8px;border-image-source:url('/assets/cocreate-v21-3/scroll-110d5775.webp');border-image-slice:185 310 200 fill;border-image-width:1;border-image-repeat:stretch;pointer-events:none;}
.chronicle213__detail-header {display:flex;justify-content:space-between;align-items:center;gap:16px;}
.chronicle213__detail-header>span {font-size:22px;font-weight:800;letter-spacing:.08em;}
.chronicle213__detail-header .chronicle213__jade-button {min-height:43px;width:170px;font-size:23px;}
.chronicle213__detail-body {min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 12px 15px 2px;scrollbar-width:thin;scrollbar-color:#aa864d88 transparent;overscroll-behavior:contain;overflow-anchor:none;}
.chronicle213__detail-body h2 {margin:0 0 24px;font:900 clamp(28px,3vw,42px)/1.4 var(--chronicle-kai);color:#163e35;overflow-wrap:anywhere;}
.chronicle213__detail-body p {white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:clamp(20px,2vw,26px);line-height:1.9;font-weight:700;}
.chronicle213__detail-body footer {display:flex;flex-wrap:wrap;gap:5px 14px;border-top:1px solid #b69a6777;margin-top:30px;padding-top:18px;font-size:21px;font-weight:700;line-height:1.5;overflow-wrap:anywhere;}
.chronicle213__detail-body footer strong {font-weight:900;}
.chronicle213__detail-body footer small {flex-basis:100%;font-size:15px;color:#806743;}
@keyframes chronicle214-unroll {from {opacity:.35;clip-path:inset(0 44% 0 44%);transform:translateY(5px);} to {opacity:1;clip-path:inset(0);transform:translateY(0);}}
@keyframes chronicle214-page {from {opacity:.35;transform:translateX(7px);} to {opacity:1;transform:translateX(0);}}
@media (min-width:1600px) {
  .chronicle213__entry {grid-template-rows:auto minmax(180px,1fr) auto;gap:6px;}
  .chronicle213__picture {min-height:180px;}
}
@media (min-width:1101px) and (max-height:700px) {
  .chronicle213 {--chronicle-head:124px;--chronicle-u:max(.78px,min(.0598086vw,.1062699vh));}
  .chronicle213__scroll {height:570px;}
  /* A short browser scrolls the page instead of compressing type and artwork. */
}
@media (max-width:1100px) {
  .chronicle213 {--chronicle-u:1px;--chronicle-head:134px;--chronicle-side:clamp(54px,9.5vw,103px);padding-bottom:14px;}
  .chronicle213__title {top:4px;width:clamp(360px,52vw,490px);font-size:60px;}
  .chronicle213__back {top:15px;left:15px;width:192px;min-height:47px;font-size:21px;}
  .chronicle213__bookmarks {right:5.5%;gap:8px;}
  .chronicle213__bookmark {width:55px;height:139px;font-size:18px;}
  .chronicle213__bookmark.is-selected {height:147px;}
  .chronicle213__scroll {width:calc(100% - 18px);height:max(650px,calc(100vh - 176px));}
  .chronicle213__leaves {inset:64px calc(var(--chronicle-side) + 2px) 123px;}
  .chronicle213__spread {grid-template-columns:minmax(0,1fr);}
  .chronicle213__spread::after {display:none;}
  .chronicle213__entry {grid-template-rows:auto minmax(150px,1fr) auto;padding:0 16px;gap:7px;}
  .chronicle213__entry h2 {font-size:38px;}
  .chronicle213__entry.title-short h2 {font-size:48px;}
  .chronicle213__entry.title-long h2 {font-size:34px;}
  .chronicle213__entry.title-very-long h2 {font-size:30px;}
  .chronicle213__entry-marks {font-size:15px;}
  .chronicle213__story {font-size:22px;-webkit-line-clamp:1;}
  .chronicle213__entry.title-long .chronicle213__story,.chronicle213__entry.title-very-long .chronicle213__story {-webkit-line-clamp:1;}
  .chronicle213__expand {font-size:19px;min-height:26px;}
  .chronicle213__picture {min-height:150px;}
  .chronicle213__credits {font-size:21px;}
  .chronicle213__seal {font-size:20px;}
  .chronicle213__navigation {left:18%;right:18%;bottom:calc(var(--chronicle-side)*.3 + 9px);gap:6px;}
  .chronicle213__pagination {gap:12px;}
  .chronicle213__pagination .chronicle213__jade-button {width:164px;min-height:44px;font-size:23px;}
  .chronicle213__page-number {font-size:21px;gap:8px;}
  .chronicle213__readbar {font-size:16px;min-height:24px;}
}
@media (max-width:720px) {
  .chronicle213 {--chronicle-head:194px;}
  .chronicle213__title {top:auto;bottom:0;width:min(80%,420px);font-size:51px;}
  .chronicle213__back {width:173px;min-height:44px;font-size:20px;}
  .chronicle213__bookmark {height:125px;width:46px;font-size:16px;}
  .chronicle213__bookmark.is-selected {height:133px;}
  .chronicle213__scroll {height:max(645px,calc(100vh - 220px));width:calc(100% - 6px);}
  .chronicle213__leaves {inset:54px calc(var(--chronicle-side) - 5px) 122px;}
  .chronicle213__entry {padding:0 5px;grid-template-rows:auto minmax(150px,1fr) auto;}
  .chronicle213__entry h2 {font-size:31px;}
  .chronicle213__entry.title-short h2 {font-size:40px;}
  .chronicle213__entry.title-long h2 {font-size:28px;}
  .chronicle213__entry.title-very-long h2 {font-size:26px;}
  .chronicle213__entry-marks {font-size:13px;}
  .chronicle213__story {font-size:20px;line-height:1.45;}
  .chronicle213__entry:not(.title-short) .chronicle213__story {-webkit-line-clamp:1;}
  .chronicle213__expand {font-size:18px;}
  .chronicle213__credits {font-size:18px;column-gap:6px;}
  .chronicle213__credits {grid-template-columns:minmax(0,1fr);row-gap:1px;}
  .chronicle213__seal {font-size:18px;}
  .chronicle213__navigation {left:12%;right:12%;bottom:31px;}
  .chronicle213__pagination {gap:5px;}
  .chronicle213__pagination .chronicle213__jade-button {width:120px;min-height:42px;font-size:20px;padding:7px 10px;gap:3px;}
  .chronicle213__page-number {flex-direction:column;gap:2px;font-size:15px;line-height:1.15;}
  .chronicle213__page-number strong {font-size:19px;}
  .chronicle213__readbar {font-size:15px;}
  .chronicle213__detail-shade {padding:12px;}
  .chronicle213__detail {--detail-side:46px;width:100%;height:86vh;min-height:260px;padding:36px 48px 42px;gap:18px;}
  .chronicle213__detail::before {border-width:27.5px var(--detail-side) 29.7px;}
  .chronicle213__detail-header {gap:8px;}
  .chronicle213__detail-header>span {font-size:19px;}
  .chronicle213__detail-header .chronicle213__jade-button {width:131px;font-size:19px;min-height:40px;padding:7px 13px;}
  .chronicle213__detail-body {padding-right:6px;}
  .chronicle213__detail-body h2 {font-size:28px;margin-bottom:18px;}
  .chronicle213__detail-body p {font-size:20px;line-height:1.8;}
  .chronicle213__detail-body footer {font-size:19px;}
}
@media (max-width:390px) {
  .chronicle213__pagination .chronicle213__jade-button {width:102px;font-size:17px;padding:7px 4px;gap:2px;}
  .chronicle213__page-number {font-size:13px;}
  .chronicle213__page-number strong {font-size:17px;}
  .chronicle213__detail-header {flex-wrap:wrap;justify-content:center;}
}
@media (prefers-reduced-motion:reduce) {
  .chronicle213__scroll,.chronicle213__spread {animation:none;}
  .chronicle213 button {transition:none;}
  .chronicle213 button:hover,.chronicle213 button:active {transform:none;}
}

/* V21.8: one motion surface for shop, inventory and battles.
   Keep the V21 headroom and proportions; do not scale the canvas a second time. */
.rig-canvas {height:125%;top:-25%;bottom:auto;}
/* The battle canvas gains transparent headroom: 1296×1080, viewport still 864.
   Inventory / still-ready portraits retain 1296×936 and their existing fit. */
.motion-notice218 {
  position:absolute;z-index:7;left:50%;bottom:2%;transform:translateX(-50%);
  width:max-content;max-width:90%;display:flex;align-items:center;gap:10px;
  padding:6px 12px;border:1px solid #c5b87870;border-radius:5px;
  background:#123d3be8;color:#f4dfae;font:600 15px/1.4 var(--v19-kai,"KaiTi",serif);
  box-shadow:0 2px 10px #001b2640;pointer-events:none;
}
.motion-notice218 button {
  pointer-events:auto;border:1px solid #d8bf78;border-radius:4px;padding:5px 10px;
  background:#ead699;color:#214846;font:700 15px/1.2 var(--v19-kai,"KaiTi",serif);
}
.motion-notice218 button:focus-visible {outline:2px solid #fff3b3;outline-offset:3px;}
.inventory-hero19 > .standing-motion218 {
  --inventory-portrait-ratio218:.97;--inventory-center218:.45;
  position:absolute;z-index:1;bottom:0;left:45%;transform:translateX(-65%);
  height:calc(100% - 40px);aspect-ratio:1;width:auto;
  filter:drop-shadow(0 14px 14px #001d2577);
}
.standing-canvas218 {
  position:absolute;left:-25%;top:-8.333333%;width:150%;max-width:none;
  height:108.333333%;pointer-events:none;
}
@media(max-width:850px){.inventory-hero19 > .standing-motion218 {left:48%;--inventory-center218:.48;}}
@media(max-width:600px){.inventory-hero19 > .standing-motion218 {left:47%;--inventory-center218:.47;--inventory-portrait-ratio218:.94;}}
@media(max-width:480px){.motion-notice218 {font-size:13px;gap:6px;padding:5px 8px;}}

/* The pilot's portrait is painted by Wt with its intrinsic bodyScaleY. */
img.motion-portrait218.motion-portrait218 {transform:scaleY(1);}
.entry-portrait > img.motion-portrait218,
.wardrobe-hero > img.motion-portrait218,
.idea-robe-art20 > img.motion-portrait218,
.gratitude-gift-art20 > img.motion-portrait218 {transform:translateX(-50%);}
.shop-display17:hover .merch-art17 > img.motion-portrait218,
.shop-display17.selected .merch-art17 > img.motion-portrait218 {transform:translateY(-5px);}
.welcome-visual > img.motion-portrait218 {animation-name:hero-float-intrinsic218;}
@keyframes hero-float-intrinsic218 {
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}
.pilot-stage218,
.cinema-scene.pilot-scene218 {
  overflow: visible;
  clip-path: inset(calc(-1 * var(--pilot-headroom218, 24px)) 0 0 0);
}
.cinema-scene.pilot-scene218 .camera-world { transform: none; }
.cinema-scene.pilot-scene218 .rig-hero {
  transform: translate(var(--lunge), calc(var(--lift) + var(--pilot-pan218, 0px)));
}
.cinema-scene.pilot-scene218 .cinema-bar { display: none; }
/* The extended sword may pass over the header's paint, never its controls. */
.v17-nav.pilot-nav218 { z-index: auto; }
.v17-nav.pilot-nav218 > * { position: relative; z-index: 22; }

/* Monster changes do not remount the input or block ongoing typing. */
.cinema-monster>.monster-cycle219{position:relative;animation:none;isolation:isolate}
.monster-cycle219>div{position:absolute;inset:0;width:100%;height:100%}
.monster-cycle219 .monster-incoming219>div{width:100%;height:100%;transform-origin:55% 88%}
.monster-cycle219 .monster-idle219{animation:monster-breathe 2.5s ease-in-out infinite}
.monster-cycle219 .cinema-recoil{animation:contact-recoil .58s both}
.monster-cycle219 .cinema-pounce{animation:enemy-lunge .52s both}
.monster-incoming219{animation:monster-enter219 .24s ease-out both}
.monster-outgoing219{pointer-events:none;animation:monster-leave219 .18s ease-out both}
@keyframes monster-enter219{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes monster-leave219{to{opacity:0;transform:translateX(14px) scale(.98)}}
.scene-paused19 .monster-cycle219 *{animation-play-state:paused!important}
.quest-reward219{flex-wrap:wrap}
.quest-reward219>small{flex-basis:100%;font-size:14px;color:#ede1b6}
.boss-gates219 em{font-style:normal}
.boss-gates219 .met219{color:#86e2bd}
.quest-repeat219{color:#294f46;font-size:16px;line-height:1.5}
.q14-config-grid article>.quest-reward-fields19{grid-template-columns:1fr}
@media(prefers-reduced-motion:reduce){.monster-cycle219 *{animation:none!important}.monster-outgoing219{display:none}}

/* V22 common primitives. Illustration style stays fixed; usable geometry adapts. */
.v22-screen,.v22-overlay,.teacher22-root{
  --v22-ink:#193d3d;--v22-jade:#205e55;--v22-deep:#0c3036;--v22-gold:#d1af69;
  --v22-paper:#f3e7c5;--v22-body:"Noto Serif SC","Noto Sans CJK SC","Microsoft YaHei","PingFang SC",sans-serif;
  --shanhai-display:"Noto Serif SC";--v22-display:"Noto Serif SC",var(--v19-kai,"STKaiti","KaiTi","Noto Serif CJK SC",serif);
  box-sizing:border-box;font-family:var(--v22-body);font-size:16px;line-height:1.5;color:var(--v22-ink);
}
.v22-screen{position:relative;isolation:isolate;width:100%;min-height:100vh;min-height:100dvh;background-color:#153d41;overflow-x:clip;}
.v22-screen *,.v22-overlay *,.teacher22-root *{box-sizing:border-box;}
.v22-screen h1,.v22-screen h2,.v22-screen h3,.v22-dialog h2,.teacher22-root h2{font-family:var(--v22-display);line-height:1.3;}
.v22-screen h1{font-size:clamp(29px,2.8vw,40px);letter-spacing:.12em;}
.v22-screen h2{font-size:clamp(22px,2vw,29px);letter-spacing:.08em;}
.v22-screen h3{font-size:20px;}
.v22-screen button,.v22-screen input,.v22-screen select,.v22-screen textarea,.v22-dialog button,.v22-dialog input{font-family:inherit;}
.v22-screen button,.v22-overlay button{cursor:pointer;touch-action:manipulation;}
.v22-screen button:disabled,.v22-overlay button:disabled{cursor:not-allowed;opacity:.55;}
.v22-screen :focus-visible,.v22-overlay :focus-visible,.v22-hud-switch:focus-visible,.v22-login-password input:focus-visible{outline:3px solid #eac76e;outline-offset:3px;}
.v22-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:10px clamp(18px,3vw,48px);color:#f5e4b4;background:linear-gradient(90deg,#082e36f5,#174c49e8 55%,#082e36f5);border-bottom:1px solid #b4a16a;box-shadow:0 4px 18px #071b3433;}
.v22-header h1{margin:0;text-align:center;}
.v22-header button{flex-shrink:0;}
.v22-header small{color:#c8d2b4;}
.v22-panel{position:relative;min-width:0;min-height:0;color:var(--v22-ink);border:2px solid #957846;border-radius:5px;padding:clamp(18px,2vw,30px);background:radial-gradient(ellipse at 25% 15%,#fff7dcbb,transparent 70%),linear-gradient(135deg,#f4e8c8,#e9d8ab);box-shadow:inset 0 0 0 3px #f7edcb,inset 0 0 0 5px #b29b6455,0 12px 28px #062c3440;}
.v22-panel::before,.v22-panel::after{content:"";position:absolute;pointer-events:none;width:20px;height:20px;border-color:#a08c55;border-style:solid;z-index:1;}
.v22-panel::before{left:9px;top:9px;border-width:2px 0 0 2px;}
.v22-panel::after{right:9px;bottom:9px;border-width:0 2px 2px 0;}
.v22-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:108px;padding:11px 25px;border:1px solid #e0c685;border-radius:5px;background:linear-gradient(110deg,#134a48,#2f7565 46%,#174c48);color:#ffefbd;box-shadow:inset 0 0 0 2px #5b8c6e,inset 0 0 0 3px #dfc37e55,0 3px 6px #0b2d3640;text-shadow:0 1px 2px #0a3028;white-space:nowrap;font-family:var(--v22-display)!important;font-size:19px;font-weight:700;line-height:1.3;text-decoration:none;}
.v22-button::before,.v22-button::after{content:"◆";position:absolute;top:50%;transform:translateY(-50%);font-size:8px;color:#e1c27e;pointer-events:none;}
.v22-button::before{left:7px;}.v22-button::after{right:7px;}
.v22-button:hover:not(:disabled){filter:brightness(1.12);box-shadow:inset 0 0 0 2px #7d9f77,inset 0 0 0 3px #e9cf8e66,0 3px 10px #071d3560;}
.v22-button-secondary{background:linear-gradient(120deg,#f4e8c7,#dec696);border-color:#c3a466;color:#214a40;text-shadow:none;box-shadow:inset 0 0 0 2px #f5eac7,inset 0 0 0 3px #b5965a66,0 3px 6px #0b2d3420;}
.v22-button-secondary::before,.v22-button-secondary::after{color:#a38245;}
.v22-muted{color:#637067;font-size:15px;}
.v22-error{padding:12px 16px;background:#fff4e5;border:1px solid #b77c5e;border-radius:5px;color:#933e2c;font-size:16px;line-height:1.5;}
.v22-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#03272ec9;padding:24px;overflow:auto;}
.v22-dialog{position:relative;width:min(100%,560px);max-height:min(90vh,850px);overflow:auto;padding:28px;background:#f3e8c8;border:3px double #b69a59;border-radius:8px;box-shadow:0 22px 80px #001920aa;color:var(--v22-ink);}
.v22-dialog h2{font-size:30px;margin:0 0 16px;}.v22-dialog p{font-size:17px;}
.v22-screen input,.v22-screen select,.v22-dialog input{font-size:17px;min-height:44px;max-width:100%;}
.v22-screen [role="status"],.v22-screen [role="alert"]{line-height:1.5;}
.v22-screen [role="tablist"]{min-width:0;}
/* Narrow host seams: no changes to any combat scene/input rules. */
.v22-login-password{display:grid;gap:8px;text-align:left;margin:14px 0;color:#284e44;font-size:18px;font-weight:600;}
.v22-login-password input{width:100%;min-height:46px;padding:10px 13px;border:1px solid #a69564;border-radius:4px;background:#fff8e7;font:17px/1.3 sans-serif;color:#173e3d;}
.v22-login-password small{font-size:14px;color:#746c53;font-weight:400;}
.v22-player-hud .profile-chip{min-width:265px;grid-template-columns:48px minmax(0,1fr) auto;height:58px;gap:10px;padding:4px 10px 4px 5px;}
.v22-player-hud .profile-chip b{font-size:16px;}.v22-player-hud .profile-chip small{font-size:12px;}
.v22-player-hud .resource-chip{white-space:nowrap;}
.v22-hud-switch{min-height:42px;border:1px solid #54726b;border-radius:4px;background:#f5efdbb8;color:#214e46;padding:8px 12px;font:16px var(--v19-kai,"KaiTi",serif);white-space:nowrap;}
.v22-map-dock{grid-template-columns:repeat(10,minmax(0,1fr));max-width:1320px;gap:12px;padding-inline:24px;}
.v22-map-dock button{min-width:0;white-space:nowrap;font-size:18px;}
.v22-demo-banner{top:auto;bottom:8px;right:10px;max-width:220px;padding:5px 9px;font-size:13px;opacity:.88;}
.v22-teacher-host .teacher-sidebar{gap:8px;}.v22-teacher-host .teacher-sidebar>.secondary-button{line-height:1.4;}
@media (max-width:1100px){
 .v22-header{padding-inline:18px;min-height:66px;gap:12px;}
 .v22-map-dock{grid-template-columns:repeat(5,minmax(0,1fr));max-width:860px;gap:12px 22px;margin-top:20px;}
 .v22-player-hud{gap:7px;}.v22-player-hud .xp-bar{display:none;}
}
@media (max-width:700px){
 .v22-header{gap:8px;flex-wrap:wrap;padding:12px;}.v22-header h1{font-size:27px;}
 .v22-panel{padding:18px;}.v22-button{padding:10px 20px;font-size:18px;min-width:92px;}
 .v22-player-hud{flex-wrap:wrap;justify-content:flex-end;}.v22-player-hud .profile-chip{min-width:220px;}
 .v22-player-hud .resource-chip{display:none;}.v22-hud-switch{min-height:38px;font-size:14px;}
 .v22-map-dock{gap:12px 8px;padding-inline:10px;}.v22-map-dock button{font-size:16px;}
 .v22-overlay{padding:14px;}.v22-dialog{padding:22px;}
}
@media (prefers-reduced-motion:reduce){.v22-screen *,.v22-overlay *{scroll-behavior:auto!important;}}
/* Approved painted components: panel corners remain undistorted through 9-slicing. */
.v22-panel::before{inset:-6px;width:auto;height:auto;border:38px solid transparent;border-image-source:url('/assets/v22/panel-frame.webp');border-image-slice:30%;border-image-width:38px;border-image-repeat:stretch;}
.v22-panel::after{display:none;}
.v22-button:not(.v22-button-secondary){border-color:transparent;background-color:transparent;background-image:url('/assets/v22/button-jade.webp');background-repeat:no-repeat;background-position:center;background-size:100% 170%;box-shadow:none;filter:drop-shadow(0 3px 3px #071f343b);padding-inline:30px;min-width:136px;}
.v22-button:not(.v22-button-secondary)::before,.v22-button:not(.v22-button-secondary)::after{display:none;}
.v22-button:not(.v22-button-secondary):hover:not(:disabled){filter:brightness(1.13) drop-shadow(0 3px 5px #071f3455);box-shadow:none;}
@media (max-width:700px){.v22-panel::before{border-width:30px;border-image-width:30px;}.v22-button:not(.v22-button-secondary){min-width:116px;padding-inline:25px;}}
/* Keep the new entrances in the first viewport without squeezing battle art. */
@media (min-width:1001px){
 .v22-map-page{padding-bottom:18px;}
 .v22-map-page .atlas-landscape{height:clamp(320px,calc(100svh - 432px),650px);min-height:320px;background-size:cover;}
 .v22-map-page .v22-map-dock{grid-template-columns:repeat(10,minmax(0,1fr));width:calc(100% - 44px);max-width:1440px;gap:10px;margin:16px auto 0;padding:12px 18px 6px;}
 .v22-map-page .v22-map-dock button{min-height:70px;gap:6px;font-size:18px;}
}
@media (min-width:1001px) and (max-height:820px){
 .v22-map-page .map-topbar{height:64px;padding-inline:22px;}
 .v22-map-page .atlas-world{padding:10px 22px 0;}
 .v22-map-page .atlas-heading{height:56px;}
 .v22-map-page .atlas-heading h1{font-size:29px;}
 .v22-map-page .atlas-landscape{height:calc(100svh - 350px);min-height:260px;}
 .v22-map-page .pin-monster{width:clamp(80px,7vw,100px);}
 .v22-map-page .map-pin>strong{font-size:18px;padding:3px 12px;}
 .v22-map-page .map-pin>small{font-size:13px;}
 .v22-map-page .atlas-choice{min-height:92px;padding:8px 18px;}
 .v22-map-page .atlas-choice>.monster-art{width:64px;}
 .v22-map-page .atlas-choice h2{font-size:24px;}
 .v22-map-page .atlas-choice>.primary-button{height:49px;}
 .v22-map-page .v22-map-dock{margin-top:12px;gap:8px;padding:10px 16px 6px;}
 .v22-map-page .v22-map-dock button{min-height:64px;gap:4px;font-size:17px;}
 .v22-map-page .v22-map-dock button svg{width:20px;height:20px;}
}

/* Separate portrait geometry is shared by settings, invitations, and duels. */
.avatar22-composite{width:var(--avatar22-size,56px);height:var(--avatar22-size,56px);position:relative;display:inline-block;vertical-align:middle;flex:none;isolation:isolate;overflow:visible;line-height:1}
.avatar22-disc{position:absolute;inset:8%;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 42% 32%,#537c70,#193f3e 68%);box-shadow:0 0 0 1px #dfc08c,inset 0 0 0 3px #173c36}
.avatar22-framed .avatar22-disc{inset:13%}
.avatar22-disc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%;display:block}
.avatar22-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#e6ce99;font:700 calc(var(--avatar22-size,56px)*.3)/1 "Noto Serif SC",var(--v19-kai,"KaiTi",serif)}
.avatar22-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2}
.v22-settings{--v22-settings-ink:#203e39;--v22-settings-gold:#d8b977;--v22-settings-kai:"Noto Serif SC",var(--v19-kai,"STKaiti","KaiTi",serif);--v22-settings-body:"Noto Serif SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;background:linear-gradient(#05283114,#05283138),url('/assets/v22/study-background.webp') center/cover fixed,#173e3e;color:var(--v22-settings-ink);min-height:100vh;min-height:100dvh;height:100dvh;overflow:auto;display:flex;flex-direction:column;padding:18px clamp(16px,3.4vw,66px) 8px;box-sizing:border-box;font:16px/1.5 var(--v22-settings-body)}
.v22-settings :where(button,input){font:inherit}
.v22-settings :where(button){cursor:pointer;touch-action:manipulation}
.v22-settings :where(button):disabled{cursor:default;opacity:.6}
.v22-settings :where(button,input):focus-visible{outline:3px solid #dba93b;outline-offset:3px}
.v22-settings-header{position:relative;flex:none;display:flex;justify-content:center;align-items:center;min-height:70px;width:100%;max-width:1440px;margin:0 auto 12px;padding:0 190px;gap:14px}
.v22-settings-heading{text-align:center;color:#f3d99b;text-shadow:0 3px 3px #102522;background:linear-gradient(100deg,#0c383ced,#174a49f5 50%,#0c383ced);border:2px solid #c7a565;box-shadow:inset 0 0 0 3px #314f42,0 3px 12px #091c23a8;clip-path:polygon(3% 0,97% 0,100% 18%,100% 82%,97% 100%,3% 100%,0 82%,0 18%);padding:5px clamp(24px,5vw,76px) 8px}
.v22-settings-heading>span{font:14px/1.2 var(--v22-settings-kai);letter-spacing:.42em;color:#c7bb88;display:block}
.v22-settings-heading>h1{margin:2px 0 0;font:800 clamp(28px,2.65vw,43px)/1.15 var(--v22-settings-kai);letter-spacing:.08em;white-space:nowrap}
.v22-settings-back{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--v22-settings-kai)!important;font-size:19px!important;white-space:nowrap}
.v22-settings-book{width:100%;max-width:1440px;margin:0 auto;flex:1;min-height:440px;max-height:710px;position:relative;display:grid;grid-template-columns:minmax(210px,.92fr) minmax(360px,1.55fr) minmax(278px,1fr);background:#ead9ac;border:9px solid #4d3822;border-top-width:13px;border-bottom-width:14px;border-radius:8px;box-shadow:0 16px 34px #071a22a6,inset 0 0 0 2px #d9b773,0 0 0 2px #b98a4c}
.v22-settings-book::before,.v22-settings-book::after{content:"";position:absolute;z-index:3;pointer-events:none;left:-5px;right:-5px;height:5px;background:linear-gradient(90deg,#b48141,#e0bc72 13%,#82603d 40%,#e3c88b 75%,#b48141);box-shadow:0 2px 3px #1f160f8a}
.v22-settings-book::before{top:-9px}.v22-settings-book::after{bottom:-10px}
.v22-settings-preview{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 20px 20px;min-width:0;min-height:0;color:#efd799;background:radial-gradient(ellipse at 42% 28%,#43675e66,#0c3436 72%),linear-gradient(130deg,#17464a,#123736);border:2px solid #bda56f;border-right:4px solid #ac8a51;box-shadow:inset 0 0 35px #041d28a1,inset 0 0 0 5px #f3daa711}
.v22-settings-preview::before,.v22-settings-preview::after{content:"❧";position:absolute;left:8px;right:8px;color:#bca16573;font:42px/1 Georgia,serif;pointer-events:none}
.v22-settings-preview::before{top:5px;text-align:left}.v22-settings-preview::after{bottom:4px;text-align:right;transform:rotate(180deg)}
.v22-settings-preview-art{width:100%;display:flex;align-items:center;justify-content:center;flex:none;max-height:45%;margin:5px auto 18px}
.v22-settings-large-avatar{width:min(100%,256px);height:auto;aspect-ratio:1;filter:drop-shadow(0 5px 12px #031a27a0)}
.v22-settings-name{font:800 clamp(25px,2.1vw,35px)/1.25 var(--v22-settings-kai);letter-spacing:.06em;overflow-wrap:anywhere;position:relative;padding:9px 15px;width:100%;border:1px solid #cfb477;background:linear-gradient(90deg,#22484088,#10403ede,#22484088);box-shadow:inset 0 0 0 3px #d2ad6420;margin:0 0 9px}
.v22-settings-class{font:700 18px/1.45 var(--v22-settings-kai);color:#e2d3a4;margin:0;overflow-wrap:anywhere}
.v22-settings-role{font-size:16px;color:#9abeb0;margin:10px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.v22-settings-role>span{color:#dfc585;font-variant-numeric:tabular-nums;font-weight:700}
.v22-settings-preview-bottom{width:100%;margin-top:auto;padding-top:22px;position:relative;z-index:4}
.v22-settings-preview-bottom>p{font:17px/1.5 var(--v22-settings-kai);color:#c7ba8c;margin:0 0 8px}
.v22-settings-preview .v22-settings-text-button{color:#e5d6ab}
.v22-settings-appearance,.v22-settings-security{min-height:0;min-width:0;position:relative;background:radial-gradient(ellipse at 45% 28%,#fff5d9c9,#eddbb27a 85%),linear-gradient(90deg,#d4ba8677,#fff5dd55 8%,#efdfbbad 95%,#a8864870);box-shadow:inset 0 0 26px #98753e30;padding:20px 24px;display:flex;flex-direction:column}
.v22-settings-appearance{border-right:2px solid #a8864a73}
.v22-settings-section-title{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;flex:none;font:800 clamp(23px,2vw,30px)/1.25 var(--v22-settings-kai);letter-spacing:.08em;margin:0 0 14px;color:#173f3e}
.v22-settings-section-title::before,.v22-settings-section-title::after{content:"";height:1px;width:clamp(20px,3.3vw,70px);background:linear-gradient(90deg,transparent,#b5965c);flex:1}
.v22-settings-section-title::after{transform:scaleX(-1)}
.v22-settings-portrait-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#ab8d5a #e6d2aa;padding:2px 5px 8px}
.v22-settings-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.v22-settings-avatar-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:0;border:0;background:transparent;color:#34483c;padding:0 2px 5px;isolation:isolate}
.v22-settings-avatar-option>.avatar22-composite{width:min(112px,100%);height:auto;aspect-ratio:1;transition:filter .14s ease}
.v22-settings-avatar-option .avatar22-disc{box-shadow:0 0 0 2px #b39356,inset 0 0 0 4px #faf0cb}
.v22-settings-avatar-option.is-selected .avatar22-disc{box-shadow:0 0 0 3px #f9d775,0 0 0 5px #b49b55,0 0 17px #c6963690}
.v22-settings-avatar-option:hover:not(:disabled)>.avatar22-composite{filter:brightness(1.08)}
.v22-settings-choice-name{font:700 16px/1.3 var(--v22-settings-kai);white-space:nowrap;margin-top:1px}
.v22-settings-selected{position:absolute;right:13%;top:calc(100% - 45px);z-index:4;border:2px solid #ffdf8d;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;line-height:1;background:#1e655e;color:#ffe3a1;box-shadow:0 1px 4px #56421b66;font-family:system-ui,sans-serif;font-size:18px}
.v22-settings-frame-title{margin:22px 0 10px}
.v22-settings-frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 7px;padding:0 2px}
.v22-settings-frame-option{border:1px solid transparent;background:transparent;position:relative;color:#324b40;padding:0;display:flex;align-items:center;flex-direction:column;min-width:0;font:700 16px/1.35 var(--v22-settings-kai)!important}
.v22-settings-frame-option>.avatar22-composite{width:min(88px,100%);height:auto;aspect-ratio:1}
.v22-settings-frame-option.is-selected>.avatar22-composite{filter:drop-shadow(0 0 4px #bb8a35a6)}
.v22-settings-frame-option>.v22-settings-selected{top:auto;bottom:20px;right:5%;font-family:system-ui,sans-serif}
.v22-settings-frame-option>span:last-of-type:not(.v22-settings-selected){text-align:center;overflow-wrap:anywhere}
.v22-settings-none-frame{width:min(88px,100%);aspect-ratio:1;display:grid;place-items:center;position:relative;color:#8a7852;font:30px/1 var(--v22-settings-kai)}
.v22-settings-none-frame::after{content:"";position:absolute;inset:14%;border:2px solid #b49d70;border-radius:50%;box-shadow:inset 0 0 0 3px #e4d6af,0 0 0 2px #e0ceaa}
.v22-settings-frame-option.is-selected .v22-settings-none-frame::after{border-color:#277165;box-shadow:0 0 0 2px #d4b767}
.v22-settings-catalog-hint{font:16px/1.5 var(--v22-settings-kai);text-align:center;color:#806b45;margin:13px 4px 0}
.v22-settings-appearance-footer{padding-top:13px;flex:none;text-align:center;border-top:1px solid #b398605c;margin-top:8px}
.v22-settings-save-portrait{min-width:min(230px,100%);min-height:48px;font-family:var(--v22-settings-kai)!important;font-size:24px!important;letter-spacing:.12em}
.v22-settings-security{padding:25px 23px 18px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ab8d5a #e6d2aa}
.v22-settings-password-status{margin:2px 0 11px;border:1px solid #c3aa71;box-shadow:inset 0 0 0 3px #f6ebd14d;padding:12px 8px;color:#6f5a35;text-align:center;font:800 27px/1.2 var(--v22-settings-kai);letter-spacing:.12em;background:linear-gradient(100deg,#c6ae7b19,#d5bc8760,#c6ae7b19)}
.v22-settings-password-help{margin:0 0 21px;font:16px/1.6 var(--v22-settings-kai);text-align:center;color:#705f3f}
.v22-settings-password-form{display:flex;flex-direction:column;align-items:stretch;gap:14px}
.v22-settings-field{display:flex;flex-direction:column;gap:7px;text-align:left;color:#30483d;font:700 18px/1.3 var(--v22-settings-kai)}
.v22-settings-field>input{width:100%;min-width:0;min-height:43px;padding:9px 11px;line-height:1.4;font:17px/1.4 var(--v22-settings-body);border:1px solid #b79861;border-radius:3px;background:#fff4dcb3;color:#213e35;box-shadow:inset 0 2px 6px #94744315;box-sizing:border-box}
.v22-settings-field>input:disabled{opacity:.7}
.v22-settings-show-password{display:flex;align-items:center;gap:9px;font:16px/1.4 var(--v22-settings-kai);color:#796543;cursor:pointer;min-height:24px}
.v22-settings-show-password>input{width:18px;height:18px;accent-color:#1c685d;flex:none}
.v22-settings-password-save{font:700 22px/1.3 var(--v22-settings-kai)!important;min-height:46px;width:100%;margin-top:4px}
.v22-settings-text-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#396358;font:700 16px/1.5 var(--v22-settings-kai)!important;padding:4px 6px}
.v22-settings-forgot{margin:auto 0 0;padding:22px 0 0;text-align:center;color:#85724f;font:16px/1.6 var(--v22-settings-kai)}
.v22-settings-feedback{font:16px/1.5 var(--v22-settings-body);margin:0 0 9px;text-align:center;overflow-wrap:anywhere}
.v22-settings-feedback.is-success{color:#216956}.v22-settings-feedback.is-error{color:#99422c}
.v22-settings-clear-confirm{background:#c9b3832e;border:1px solid #bfa36c66;padding:10px;font:16px/1.5 var(--v22-settings-kai);text-align:center}
.v22-settings-clear-confirm>p{margin:0 0 8px}.v22-settings-clear-confirm>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.v22-settings-small-button{border:1px solid #a79160;background:#f4e6c6;color:#3e5847;border-radius:3px;padding:6px 10px;font-size:16px!important}
.v22-settings-page-footer{color:#e6d3a7;text-shadow:0 1px 3px #17292b;text-align:center;padding:15px 0 4px;margin-top:0;min-height:38px;flex:none;font:16px/1.4 var(--v22-settings-kai);letter-spacing:.15em}
.v22-settings-state{width:min(620px,100%);margin:auto;align-self:center;text-align:center;padding:36px 28px;background:linear-gradient(120deg,#fff1cf,#e7d4aa);border:3px double #aa8d55;box-shadow:0 8px 35px #0c252c8c}
.v22-settings-state>h2{font:800 27px/1.4 var(--v22-settings-kai);margin:12px 0}.v22-settings-state>p{font-size:17px;margin:10px 0 20px}
.v22-settings-seal{font:36px/1 var(--v22-settings-kai);display:inline-block;border:2px solid #ad583f;color:#ad583f;padding:10px}
@media(min-width:1600px) and (min-height:900px){.v22-settings{justify-content:center;padding-top:24px;padding-bottom:24px}.v22-settings-header{margin-bottom:22px}.v22-settings-book{flex:0 1 710px;min-height:600px}.v22-settings-appearance{padding:27px 34px}.v22-settings-security{padding:30px 33px}.v22-settings-avatar-grid{gap:18px 18px}.v22-settings-avatar-option>.avatar22-composite{width:130px}.v22-settings-frame-title{margin-top:30px}.v22-settings-preview-art{margin-bottom:25px}.v22-settings-large-avatar{width:min(100%,290px)}.v22-settings-password-form{gap:20px}.v22-settings-password-help{margin-bottom:28px}.v22-settings-page-footer{padding-top:22px}}
@media(max-height:760px) and (min-width:1001px){.v22-settings{padding-top:10px}.v22-settings-header{min-height:60px;margin-bottom:8px}.v22-settings-heading>h1{font-size:30px}.v22-settings-heading>span{font-size:12px}.v22-settings-book{min-height:460px}.v22-settings-preview{padding:18px 17px 13px}.v22-settings-large-avatar{width:min(100%,210px)}.v22-settings-preview-art{margin-bottom:10px}.v22-settings-name{font-size:27px;padding:7px 10px}.v22-settings-preview-bottom{padding-top:14px}.v22-settings-appearance{padding:15px 19px}.v22-settings-section-title{font-size:24px;margin-bottom:8px}.v22-settings-avatar-grid{gap:7px 10px}.v22-settings-avatar-option>.avatar22-composite{width:min(94px,100%)}.v22-settings-frame-title{margin-top:15px}.v22-settings-frame-option>.avatar22-composite,.v22-settings-none-frame{width:min(72px,100%)}.v22-settings-security{padding:18px 20px 14px}.v22-settings-password-status{font-size:24px;padding:10px;margin-bottom:8px}.v22-settings-password-help{margin-bottom:13px}.v22-settings-password-form{gap:11px}.v22-settings-forgot{padding-top:14px}.v22-settings-page-footer{padding-top:10px;min-height:31px;font-size:15px}}
@media(max-width:1150px) and (min-width:1001px){.v22-settings{padding-left:18px;padding-right:18px}.v22-settings-book{grid-template-columns:minmax(190px,.8fr) minmax(330px,1.45fr) minmax(265px,1fr)}.v22-settings-preview{padding-inline:13px}.v22-settings-appearance{padding-inline:17px}.v22-settings-security{padding-inline:17px}.v22-settings-class{font-size:17px}.v22-settings-heading{padding-inline:30px}.v22-settings-header{padding-inline:175px}.v22-settings-back{font-size:17px!important}.v22-settings-choice-name,.v22-settings-frame-option{font-size:16px!important}}
@media(max-width:1000px){.v22-settings{height:auto;min-height:100dvh;padding:14px 18px}.v22-settings-header{padding:0;justify-content:space-between;min-height:64px}.v22-settings-heading{padding:8px 25px}.v22-settings-heading>h1{font-size:29px}.v22-settings-heading>span{display:none}.v22-settings-back{position:static;transform:none;font-size:17px!important}.v22-settings-book{grid-template-columns:minmax(195px,.8fr) minmax(0,1.7fr);max-height:none;min-height:0;flex:none}.v22-settings-preview{min-height:450px}.v22-settings-appearance{min-height:480px;border-right:0}.v22-settings-portrait-scroll{max-height:440px}.v22-settings-security{grid-column:1/-1;border-top:2px solid #ad8c53;overflow:visible;padding:22px 28px;display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:28px;align-content:start}.v22-settings-security>.v22-settings-section-title{grid-column:1;grid-row:1}.v22-settings-password-status{grid-column:1;grid-row:2;align-self:start}.v22-settings-password-help{grid-column:1;grid-row:3}.v22-settings-password-form{grid-column:2;grid-row:1/5}.v22-settings-forgot{grid-column:1;grid-row:4;padding-top:8px;align-self:start;margin:0}.v22-settings-avatar-option>.avatar22-composite{width:112px}.v22-settings-frame-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.v22-settings-preview-bottom{margin-top:30px}.v22-settings-large-avatar{width:min(100%,225px)}}
@media(max-width:640px){.v22-settings{padding:10px 11px}.v22-settings-header{align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:13px}.v22-settings-back{font-size:16px!important;padding:8px 14px!important}.v22-settings-heading>h1{font-size:27px}.v22-settings-book{grid-template-columns:1fr;border-width:6px}.v22-settings-preview{min-height:0;display:grid;grid-template-columns:112px minmax(0,1fr);padding:14px 16px;column-gap:12px;border-right-width:2px}.v22-settings-preview-art{grid-column:1;grid-row:1/4;width:112px;max-height:none;margin:0}.v22-settings-large-avatar{width:112px}.v22-settings-name{grid-column:2;font-size:25px;padding:6px 8px;margin-bottom:6px}.v22-settings-class{grid-column:2;font-size:17px}.v22-settings-role{grid-column:2;margin-top:7px;font-size:16px}.v22-settings-preview-bottom{grid-column:1/-1;margin-top:9px;padding:0;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.v22-settings-preview-bottom>p{font-size:16px;margin:0}.v22-settings-preview::before,.v22-settings-preview::after{display:none}.v22-settings-appearance{min-height:0;padding:20px 18px}.v22-settings-portrait-scroll{max-height:none;overflow:visible}.v22-settings-avatar-grid{gap:12px 5px}.v22-settings-avatar-option>.avatar22-composite{width:min(108px,100%)}.v22-settings-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v22-settings-security{display:flex;padding:23px 22px}.v22-settings-section-title{font-size:26px}.v22-settings-password-help{margin-bottom:18px}.v22-settings-forgot{margin:15px 0 0}.v22-settings-page-footer{letter-spacing:.06em;font-size:16px}.v22-settings-selected{right:7%}}
@media(prefers-reduced-motion:reduce){.v22-settings *{scroll-behavior:auto!important;transition:none!important}}
/* Preserve the approved carved wooden book frame without scaling the form. */
.v22-settings-book::before{inset:-18px;height:auto;border:44px solid transparent;border-image:url('/assets/v22/panel-frame.webp') 30% / 44px / 0 stretch;background:none;box-shadow:none;z-index:5}
.v22-settings-book::after{display:none}
@media(max-width:640px){.v22-settings-book::before{inset:-12px;border-width:34px;border-image-width:34px}}
/* A short portrait folio and a permanently visible frame shelf. */
.v22-settings-avatar-tabs{display:flex;justify-content:center;gap:14px;flex:none;margin:-3px 0 10px}
.v22-settings-avatar-tabs>button{font:700 16px/1.4 var(--v22-settings-kai);background:transparent;color:#8b7652;border:0;border-bottom:2px solid transparent;padding:2px 7px 4px}
.v22-settings-avatar-tabs>button.is-active{color:#216454;border-color:#ad8c4e}
.v22-settings-frame-section{flex:none;min-width:0;margin-top:8px}
.v22-settings-frame-section .v22-settings-frame-title{margin:3px 0 6px;font-size:23px}
.v22-settings-frame-section .v22-settings-frame-grid{display:flex;overflow-x:auto;overflow-y:hidden;gap:10px;padding:2px 2px 9px;scrollbar-width:thin;scrollbar-color:#a98e5d #e6d2aa;scroll-snap-type:x proximity}
.v22-settings-frame-section .v22-settings-frame-option{flex:0 0 84px;scroll-snap-align:start}
.v22-settings-frame-section .v22-settings-frame-option>.avatar22-composite,.v22-settings-frame-section .v22-settings-none-frame{width:76px}
.v22-settings-frame-section .v22-settings-catalog-hint{font-size:16px;margin-top:4px}
.v22-settings-appearance .v22-settings-portrait-scroll{flex:1 1 auto;min-height:150px}
@media(max-height:760px) and (min-width:1001px){.v22-settings-avatar-tabs{margin-bottom:4px}.v22-settings-avatar-grid{gap:4px 8px}.v22-settings-avatar-option>.avatar22-composite{width:min(78px,100%)}.v22-settings-choice-name{font-size:16px}.v22-settings-frame-section .v22-settings-frame-title{font-size:21px}.v22-settings-frame-section .v22-settings-frame-option{flex-basis:73px}.v22-settings-frame-section .v22-settings-frame-option>.avatar22-composite,.v22-settings-frame-section .v22-settings-none-frame{width:62px}.v22-settings-frame-section .v22-settings-frame-grid{padding-bottom:6px;gap:8px}.v22-settings-appearance-footer{padding-top:8px;margin-top:3px}.v22-settings-save-portrait{min-height:44px;font-size:22px!important}.v22-settings-appearance .v22-settings-portrait-scroll{min-height:193px}}
@media(max-width:1000px){.v22-settings-appearance .v22-settings-portrait-scroll{max-height:310px;flex:0 0 auto}.v22-settings-appearance{min-height:530px}.v22-settings-appearance-footer{margin-top:auto;padding-top:13px}.v22-settings-frame-section{margin-top:18px}}
@media(max-width:640px){.v22-settings-appearance{min-height:0}.v22-settings-appearance .v22-settings-portrait-scroll{max-height:none}.v22-settings-appearance-footer{margin-top:10px}.v22-settings-frame-section .v22-settings-frame-option{flex-basis:84px}}
@media(min-width:1001px){
 .v22-settings-appearance{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto}
 .v22-settings-appearance .v22-settings-portrait-scroll{min-height:0!important;max-height:none;padding:2px 5px 3px;overflow:hidden}
 .v22-settings-avatar-grid{height:100%;grid-template-rows:repeat(2,minmax(0,1fr));row-gap:8px;align-content:stretch}
 .v22-settings-avatar-option{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-content:stretch;padding:0 2px}
 .v22-settings-avatar-option>.avatar22-composite{width:auto;height:100%;max-height:112px;max-width:100%;aspect-ratio:1}
 .v22-settings-avatar-option .v22-settings-choice-name{min-height:22px;font-size:16px;margin:0}
 .v22-settings-avatar-option .v22-settings-selected{top:auto;bottom:22px;right:13%}
}
@media(min-width:1001px) and (max-height:860px){
 .v22-settings-section-title{font-size:24px;margin-bottom:8px}
 .v22-settings-appearance{padding:15px 19px}
 .v22-settings-avatar-tabs{margin-bottom:4px}
 .v22-settings-avatar-option>.avatar22-composite{max-height:91px}
 .v22-settings-frame-section .v22-settings-frame-title{font-size:22px;margin-top:2px;margin-bottom:3px}
 .v22-settings-frame-section .v22-settings-frame-option{flex-basis:76px}
 .v22-settings-frame-section .v22-settings-frame-option>.avatar22-composite,.v22-settings-frame-section .v22-settings-none-frame{width:64px}
 .v22-settings-frame-section .v22-settings-frame-grid{padding-bottom:5px;gap:7px}
 .v22-settings-appearance-footer{padding-top:7px;margin-top:3px}
 .v22-settings-save-portrait{min-height:44px;height:48px!important;font-size:22px!important;padding-top:8px!important;padding-bottom:8px!important}
}
/* Selection seal belongs to the portrait itself, independent of cell width. */
.v22-settings-avatar-option>.v22-settings-selected{display:none}
.v22-settings-avatar-option.is-selected>.avatar22-composite::after{content:"✓";position:absolute;right:0;bottom:0;z-index:4;border:2px solid #ffdf8d;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;background:#1e655e;color:#ffe3a1;box-shadow:0 1px 4px #56421b66;font:18px/1 system-ui,sans-serif}
.v22-settings-frame-heading{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:3px}
.v22-settings-frame-heading>.v22-settings-frame-title{flex:1;min-width:0;margin:0!important}
.v22-settings-frame-arrows{display:flex;align-items:center;gap:6px;flex:none}
.v22-settings-frame-arrows>button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #b18f4d;border-radius:50%;background:#e6d4a7;color:#245a4b;font:700 25px/1 Georgia,serif;box-shadow:inset 0 0 0 2px #f6e9bd}
.v22-settings-frame-arrows>button:disabled{opacity:.3}
.v22-settings-frame-arrows>button:not(:disabled):hover{background:#c6b278;color:#143b34}

/* V22 painted observatory. Responsive geometry is intentionally independent of concept-image pixels. */
.wish22-screen,.teacher22-screen{--wish-ivory:#fff0c8;--wish-gold:#d7b16d;--wish-ink:#092d35;--wish-jade:#297b78;--wish-title:var(--v19-kai,"STKaiti","KaiTi","Noto Serif CJK SC",serif);box-sizing:border-box;font-family:"Noto Sans SC","Microsoft YaHei","Noto Serif SC",sans-serif;font-size:16px;line-height:1.5}
.wish22-screen *,.wish22-screen *:before,.wish22-screen *:after,.teacher22-screen *,.teacher22-screen *:before,.teacher22-screen *:after{box-sizing:border-box}
.wish22-screen{min-height:100vh;min-height:100svh;height:100vh;height:100svh;overflow:hidden;position:relative;isolation:isolate;color:var(--wish-ivory);padding:clamp(16px,2.2vh,28px) clamp(18px,2.4vw,46px);background:#0b1b33 url('/assets/v22/observatory-background.webp') center center/cover no-repeat;display:flex;flex-direction:column}
.wish22-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,15,33,.12),rgba(3,20,30,.04) 52%,rgba(2,13,20,.38)),linear-gradient(0deg,rgba(1,9,17,.3),transparent 45%);pointer-events:none}
.wish22-screen button,.teacher22-screen button{cursor:pointer;font-size:16px;font-weight:700;font-family:var(--wish-title);line-height:1.4;min-height:42px;transition:filter .15s,background-color .15s,box-shadow .15s}
.wish22-screen button:disabled,.teacher22-screen button:disabled{cursor:default;filter:saturate(.45);opacity:.68}
.wish22-screen button:focus-visible,.teacher22-screen button:focus-visible,.teacher22-screen input:focus-visible,.teacher22-screen select:focus-visible{outline:3px solid #a6ecdf;outline-offset:3px}
.wish22-screen button:not(:disabled):hover{filter:brightness(1.14)}
.wish22-screen h1,.wish22-screen h2,.wish22-screen h3,.teacher22-screen h1,.teacher22-screen h2{font-family:var(--wish-title);margin:0;line-height:1.2;font-weight:800}
.wish22-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:88px;flex-shrink:0;position:relative;z-index:2}
.wish22-heading{padding:0 0 0 1vw;text-shadow:0 2px 3px #120d12,0 0 24px #c38d3b}
.wish22-heading h1{font-size:clamp(38px,4.5vw,72px);letter-spacing:.08em;color:#ffedbf;white-space:nowrap}
.wish22-heading p{font-family:var(--wish-title);font-size:clamp(17px,1.6vw,24px);margin:4px 0 0;text-align:center;color:#e9d5a2;letter-spacing:.32em}
.wish22-header nav{display:flex;align-items:center;gap:14px;padding-top:2px}
.wish22-wallet{display:flex;align-items:center;gap:9px;font-family:var(--wish-title);font-size:21px;white-space:nowrap;background:linear-gradient(90deg,rgba(7,24,40,.9),rgba(8,26,33,.78));border-top:1px solid #c3a564;border-bottom:1px solid #c3a564;padding:6px 18px;text-shadow:0 1px 3px #000}
.wish22-wallet i{font-size:34px;line-height:1;color:#c3d5ff;text-shadow:0 0 12px #89a9ff;font-style:normal}
.wish22-wallet strong{font-family:Georgia,serif;font-size:28px;color:white}
.wish22-back,.wish22-cabinet-footer button,.wish22-modal-actions button,.wish22-close{position:relative;border:1px solid #bba166;color:#f6e5bd;background:linear-gradient(150deg,#254b55,#102c39 65%);box-shadow:inset 0 0 0 3px #162d34,inset 0 0 0 4px #957a4b,0 3px 9px #0007;padding:10px 22px;border-radius:5px 15px 5px 15px;white-space:nowrap}
.wish22-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,1fr);gap:clamp(14px,2.6vw,44px);min-height:0;flex:1;position:relative}
.wish22-observatory{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:6px}
.wish22-sphere{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:flex-end;justify-content:center;margin-top:-16px}
.wish22-armillary{position:relative;z-index:2;width:clamp(280px,44vw,720px);max-width:96%;height:100%;max-height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 14px #09131b);pointer-events:none}
.wish22-sphere-aura{position:absolute;z-index:0;left:10%;right:10%;top:8%;bottom:0;border-radius:50%;background:radial-gradient(ellipse,rgba(90,174,209,.16),rgba(225,195,109,.07) 42%,transparent 69%);pointer-events:none}
.wish22-inner-light{position:absolute;z-index:1;left:40%;top:39%;width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(169,233,255,.85),rgba(82,164,255,.2) 35%,transparent 70%);animation:wish22-glow 4s ease-in-out infinite;pointer-events:none}
.wish22-mote{position:absolute;width:4px;height:4px;z-index:3;border-radius:50%;left:calc(20% + var(--i)*9%);top:calc(18% + var(--i)*7%);background:#fff5c9;box-shadow:0 0 7px 2px #f8d48a;animation:wish22-mote 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.53s);pointer-events:none}
.wish22-orbit{position:absolute;z-index:3;width:clamp(76px,9vw,126px);height:clamp(76px,9vw,126px);border:1px solid #ebd49a;border-radius:50%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle,#284b6288,#11253599 65%,#f2cb9133);box-shadow:0 0 17px #cbe2fe44,inset 0 0 12px #e8d39566;animation:wish22-orbit-float 5s ease-in-out infinite;pointer-events:none}
.wish22-orbit>*{max-width:90%;max-height:90%}.wish22-orbit-0{left:5%;top:20%}.wish22-orbit-1{right:4%;top:13%;animation-delay:-1.5s}.wish22-orbit-2{right:7%;bottom:8%;animation-delay:-3s}
.wish22-action{position:relative;z-index:4;text-align:center;flex-shrink:0;margin-top:-14px;max-width:100%;width:420px}
.wish22-draw-button{width:100%;min-height:84px!important;border:2px solid #eccd86;background:radial-gradient(ellipse at 50% 20%,#3e9690,#15524f 62%,#133a3d);box-shadow:inset 0 0 0 4px #385d55,inset 0 0 0 6px #b49758,0 0 0 2px #6a4e26,0 7px 15px #03111cc9,0 0 20px #ffe29f35;border-radius:18px 38px 18px 38px;color:#fff1c5;padding:12px 30px;position:relative;text-shadow:0 2px 3px #102b2c}
.wish22-draw-button:before,.wish22-draw-button:after{content:"◆";position:absolute;color:#d9be77;font-size:22px;top:50%;transform:translateY(-50%);text-shadow:0 0 6px #85d7bd}.wish22-draw-button:before{left:12px}.wish22-draw-button:after{right:12px}
.wish22-draw-button strong{display:block;font-family:var(--wish-title);font-size:clamp(26px,2.5vw,38px);letter-spacing:.1em;line-height:1.2}.wish22-draw-button span{display:block;font-size:18px;margin-top:2px}
.wish22-allowance{margin:9px 0 0;font-size:15px;white-space:normal;color:#ffe8b6;text-shadow:0 1px 3px #000}.wish22-source{margin:2px 0 0;font-size:14px;color:#ddd5c2;text-shadow:0 1px 3px #000}
.wish22-error{position:relative;z-index:6;margin-top:8px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center;background:#2b1c22ee;border:1px solid #d0a262;border-radius:8px;padding:9px 14px;max-width:620px;color:#ffe2bd;font-size:16px}
.wish22-error button{border:1px solid #a48751;background:#573e32;color:#ffe8bb;border-radius:4px;padding:4px 12px;min-height:34px}
.wish22-cabinet{position:relative;min-height:0;display:flex;flex-direction:column;padding:22px 18px 14px;border:3px solid #9e7a3e;border-radius:23px 14px 13px 13px;background:linear-gradient(120deg,#213f3cda,#061c24f0 40%,#09272af2);box-shadow:inset 0 0 0 3px #152b2b,inset 0 0 0 5px #927244,inset 0 0 45px #050b0fc9,0 8px 24px #0009;margin-top:-8px;margin-bottom:4px}
.wish22-cabinet:before{content:"";position:absolute;top:10px;left:18px;right:18px;height:40px;border-top:2px solid #d3b46d;border-radius:50%;pointer-events:none}
.wish22-cabinet:after{content:"◆";position:absolute;top:-18px;left:calc(50% - 18px);font-size:28px;line-height:1;padding:0 9px;color:#9ae6d0;text-shadow:0 0 2px #172f2c,0 0 7px #c9a24c;background:#143332;border:2px solid #c09a55;border-radius:40%;pointer-events:none}
.wish22-cabinet h2{font-size:clamp(27px,2.7vw,43px);text-align:center;letter-spacing:.16em;color:#ffe8ae;text-shadow:0 3px 2px #020d11;margin:0 0 12px;flex-shrink:0}
.wish22-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;flex-shrink:0;margin-bottom:13px;padding:0 3px}
.wish22-tabs button{border:1px solid #846a41;border-radius:4px 12px 4px 12px;padding:6px 5px;background:linear-gradient(#193945,#102d35);color:#d7d7c9;min-width:0;font-size:clamp(16px,1.3vw,21px);box-shadow:inset 0 0 0 2px #173537}
.wish22-tabs button.selected{color:#fff2c9;border-color:#efcd80;background:linear-gradient(#418b80,#27685f);box-shadow:inset 0 0 0 2px #315f54,0 0 12px #d3c38755}
.wish22-shelves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;flex:1;min-height:0;padding:0 3px}
.wish22-display{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:0!important;min-width:0;padding:10px 4px 8px;border:1px solid #a48c53!important;border-top:3px solid #8b6c3d!important;background:radial-gradient(ellipse at 50% 10%,#ad9d6a3a,transparent 64%),linear-gradient(90deg,#071a20,#15313a 48%,#07181d);box-shadow:inset 5px 0 10px #0007,inset -5px 0 10px #0007,0 3px 4px #000a;border-radius:1px;color:#f6e4b9;overflow:hidden}
.wish22-display:after{content:"";position:absolute;left:7%;right:7%;bottom:48px;border-radius:50%;height:12px;background:linear-gradient(#ab9257,#463725);box-shadow:0 3px 0 #11272b,0 4px 0 #8f743f;pointer-events:none}
.wish22-plinth{height:calc(100% - 48px);min-height:0;width:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;padding:0 0 6px}
.wish22-plinth .avatar22-composite{width:min(100%,100px)!important;height:auto!important;aspect-ratio:1;max-height:100%}
.wish22-plinth img{max-width:100%;max-height:100%;object-fit:contain}
.wish22-display strong{font-family:var(--wish-title);font-size:clamp(16px,1.3vw,20px);line-height:1.25;position:relative;z-index:2;text-align:center;white-space:normal;word-break:keep-all}
.wish22-display small{font-family:inherit;line-height:1.3;font-size:13px;color:#bab894;margin-top:3px;position:relative;z-index:2}
.wish22-display.owned small{color:#a1dac0}.wish22-loading{grid-column:1/-1;align-self:center;text-align:center;color:#e8d5a4;font-size:17px}
.wish22-old-art{width:100%;height:100%;max-width:120px;max-height:160px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.wish22-old-art>*{max-width:100%;max-height:100%}.wish22-old-art canvas{width:100%;height:100%;object-fit:contain}.wish22-old-art .shop-item-art17{width:100%;height:100%;min-height:0;position:relative}.wish22-prize-image{width:100%;height:100%;object-fit:contain}.wish22-legacy-symbol{font:70px var(--wish-title);text-shadow:0 0 20px #b5efff;color:#c6e7eb}
.wish22-pages{display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0;min-height:34px;margin:4px 0;color:#d4c799;font-size:15px}.wish22-pages button{background:none;border:0;color:#ead5a4;padding:0 15px;min-height:30px;font-size:24px}
.wish22-cabinet-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 3px;flex-shrink:0}.wish22-cabinet-footer button{font-size:clamp(17px,1.5vw,22px);padding:7px 8px}
.wish22-drawing .wish22-inner-light{animation:wish22-reveal-glow .7s ease-in-out infinite}.wish22-drawing .wish22-sphere-aura{background:radial-gradient(ellipse,#9edfe766,#e7cb8422 45%,transparent 72%)}
.wish22-modal-scrim{position:fixed;inset:0;z-index:1100;background:#04121bd6;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}
.wish22-modal{width:min(720px,100%);max-height:calc(100svh - 48px);overflow:auto;background:linear-gradient(135deg,#1b4648,#0d2835 80%);border:2px solid #d4ae66;border-radius:12px;box-shadow:inset 0 0 0 5px #173337,inset 0 0 0 6px #817248,0 15px 60px #000;padding:26px;color:#f8e9c7;outline:none}
.wish22-modal>header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #937e4a;padding-bottom:16px;margin-bottom:20px}.wish22-modal h2{font-size:30px}.wish22-close{padding:6px 16px;min-height:36px!important;font-size:16px!important}.wish22-result{width:min(540px,100%)}
.wish22-result-body,.wish22-detail{text-align:center}.wish22-result-art{height:210px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:10px;background:radial-gradient(ellipse,#b3d9d344,transparent 66%);animation:wish22-result-in .6s ease-out both}.wish22-result-art .wish22-old-art{max-width:180px;max-height:210px}.wish22-result-body h3{font-size:34px;color:#ffe8aa;margin:7px 0}.wish22-result-body small{font-size:16px;color:#b9ddcd}.wish22-result-body p{margin:8px 0 20px;font-size:16px}.wish22-detail>div:first-child{margin:0 auto}.wish22-detail p{font-size:17px;line-height:1.7}.wish22-detail strong{color:#ffe6a4;font-size:19px}
.wish22-modal-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.wish22-modal-actions .primary{background:linear-gradient(#347f73,#1e574f);border-color:#e6bf6e}.wish22-subtle{color:#c7c8b3;font-size:16px;line-height:1.6}.wish22-modal-error{background:#543c36;color:#ffe2ce;border:1px solid #bd9674;padding:12px;border-radius:6px;font-size:16px}
.wish22-pool-table{overflow-x:auto}.wish22-pool-table table{width:100%;border-collapse:collapse;font-size:16px}.wish22-pool-table th,.wish22-pool-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #6b765455}.wish22-pool-table th{color:#efcc8b;background:#1d403e}.wish22-pool-table td:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.wish22-history article{display:flex;align-items:center;gap:16px;padding:14px 2px;border-bottom:1px solid #76805b66}.wish22-history article>div:nth-child(2){flex:1}.wish22-history strong,.wish22-history time{display:block}.wish22-history time{font-size:14px;color:#bac8c4;margin-top:4px}.wish22-history article>span{font-size:15px;color:#dccb99;white-space:nowrap}.wish22-history .wish22-old-art{width:56px;height:56px;flex-shrink:0}
@keyframes wish22-glow{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:.8;transform:scale(1.04)}}
@keyframes wish22-mote{0%,100%{opacity:.2;transform:translateY(7px)}50%{opacity:.85;transform:translateY(-7px)}}
@keyframes wish22-orbit-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes wish22-reveal-glow{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}
@keyframes wish22-result-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
/* Teacher controls share the established ivory/jade classroom vocabulary. */
.teacher22-screen{color:#213d3c;max-width:1440px;margin:0 auto;padding:clamp(18px,2.2vw,34px);background:linear-gradient(120deg,#f9f1d9,#ece5c8);border-radius:14px;min-height:min(700px,100svh)}
.teacher22-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:2px solid #b9a876}.teacher22-header p{color:#887141;font-size:14px;margin:0 0 5px;letter-spacing:.25em}.teacher22-header h1{font-size:34px;color:#174b4a;letter-spacing:.1em}.teacher22-header nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.teacher22-screen button{border:1px solid #a79261;border-radius:5px;background:#fcf8e8;color:#2c5149;padding:9px 16px;box-shadow:inset 0 -2px 0 #c5b9873b}
.teacher22-screen button:not(:disabled):hover{background:#f8ecca}.teacher22-screen button.teacher22-primary{background:linear-gradient(#337c70,#225c52);color:#fff0c8;border:1px solid #a28d56;box-shadow:inset 0 0 0 2px #2e6354;padding:11px 22px}.teacher22-screen button.teacher22-primary:not(:disabled):hover{background:linear-gradient(#418c7d,#28695d)}
.teacher22-tabs{display:flex;gap:9px;margin:20px 0 18px;border-bottom:1px solid #baa97c;padding-bottom:12px;flex-wrap:wrap}.teacher22-tabs button{font-size:20px;padding:10px 27px;min-width:130px;border-radius:6px 6px 3px 3px}.teacher22-tabs button.selected{background:#245d55;color:#fff0c8;border-color:#c0a165;box-shadow:inset 0 0 0 2px #357065}
.teacher22-message{padding:12px 16px;font-size:16px;border:1px solid #a48b60;border-radius:7px;margin:10px 0 18px}.teacher22-message.error{background:#f6dfcd;color:#783722;border-color:#c99b7e}.teacher22-message.success{background:#dcebd6;color:#255f42;border-color:#96b18d}
.teacher22-class{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;margin:0 0 20px}.teacher22-class select{min-width:220px;max-width:100%}
.teacher22-screen input,.teacher22-screen select{font-family:inherit;font-size:17px;border:1px solid #a9986d;background:#fffdf4;color:#244b44;border-radius:5px;min-height:44px;padding:9px 12px;max-width:100%;box-shadow:inset 0 2px 4px #95836314}.teacher22-screen input:disabled,.teacher22-screen select:disabled{opacity:.65}.teacher22-screen input[type=checkbox]{width:22px;height:22px;min-height:22px;padding:0;accent-color:#27786c;flex-shrink:0}
.teacher22-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.teacher22-panel{min-width:0;background:linear-gradient(120deg,#fff9e8,#f3ecd3);border:1px solid #b6a67b;border-radius:10px;padding:24px;box-shadow:inset 0 0 0 4px #fff8e555,0 4px 9px #69562f0d}.teacher22-panel h2{font-size:25px;color:#265d53;padding-bottom:14px;border-bottom:1px solid #bcaa7b88;margin:0 0 20px;letter-spacing:.03em}.teacher22-panel p{font-size:16px}.teacher22-toggle{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;margin:15px 0 22px;cursor:pointer}.teacher22-field{display:block;margin:15px 0;font-size:16px}.teacher22-field>span{display:block;margin-bottom:7px;font-weight:700}.teacher22-field input,.teacher22-field select{width:100%}.teacher22-field select{max-width:260px}.teacher22-note{color:#6f725b;line-height:1.7;font-size:15px!important;margin:14px 0 18px}.teacher22-inline{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teacher22-explain ul{padding-left:24px;margin:0}.teacher22-explain li{font-size:16px;line-height:1.75;margin-bottom:13px}.teacher22-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.teacher22-stats>div{text-align:center;border-right:1px solid #c6b98c}.teacher22-stats>div:last-child{border-right:0}.teacher22-stats strong{display:block;font-size:30px;color:#29695a;font-variant-numeric:tabular-nums}.teacher22-stats span{font-size:15px;color:#787251}.teacher22-bars>div{display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;gap:10px;margin:10px 0;font-size:15px}.teacher22-bars i{display:block;height:10px;border-radius:8px;background:#dfdfc5;overflow:hidden}.teacher22-bars b{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#8cbca3,#327867)}.teacher22-bars strong{font-weight:600;text-align:right}.teacher22-demo{grid-column:1/-1}.teacher22-demo form{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.teacher22-demo .teacher22-field{margin:0;max-width:240px}.teacher22-demo p>strong{color:#296b60;font-size:24px}.teacher22-password-grid{grid-template-columns:minmax(280px,1fr) minmax(340px,1.1fr)}.teacher22-search{display:block;margin:0 0 14px}.teacher22-search input{width:100%}.teacher22-students{max-height:440px;overflow-y:auto;padding-right:5px}.teacher22-students button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;margin:7px 0;font-family:inherit;padding:12px 14px;min-height:57px}.teacher22-students button.selected{border-color:#2a7d6f;background:#e2ede0;box-shadow:inset 3px 0 #2a7d6f}.teacher22-students b{font-size:17px;font-weight:600}.teacher22-students em{font-size:14px;font-style:normal;font-weight:500;white-space:nowrap;color:#657e69}.teacher22-students small{display:block;font-size:13px;color:#9e7556}.teacher22-password-input{display:flex;gap:8px;align-items:center}.teacher22-password-input input{min-width:0;flex:1}.teacher22-password-input button{flex-shrink:0;font-family:inherit;font-size:15px;padding:8px 12px}.teacher22-clear-password{border-top:1px solid #bba97988;margin-top:24px;padding-top:20px}.teacher22-clear-password button{margin-right:10px;margin-bottom:8px}.teacher22-screen button.teacher22-danger{background:#8d4836;color:#fff2de;border-color:#7e3c2d}.teacher22-retry{margin:20px 0}.teacher22-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1600px){.wish22-layout{grid-template-columns:minmax(0,1.32fr) minmax(460px,1fr)}.wish22-cabinet{padding:28px 26px 18px}.wish22-shelves{gap:14px}.wish22-display{padding-bottom:12px}.wish22-display:after{bottom:55px}.wish22-plinth{height:calc(100% - 58px)}.wish22-plinth .avatar22-composite{width:130px!important}.wish22-display strong{font-size:22px}.wish22-display small{font-size:15px}.wish22-action{width:470px}.wish22-draw-button{min-height:96px!important}.wish22-allowance{font-size:17px}.wish22-source{font-size:16px}}
@media(max-height:800px) and (min-width:1000px){.wish22-screen{padding-top:14px;padding-bottom:14px}.wish22-header{min-height:81px}.wish22-heading h1{font-size:48px}.wish22-heading p{font-size:17px;margin-top:0}.wish22-cabinet{padding-top:19px}.wish22-cabinet h2{font-size:32px;margin-bottom:9px}.wish22-tabs{margin-bottom:9px;gap:6px}.wish22-tabs button{min-height:37px;font-size:17px}.wish22-shelves{gap:7px}.wish22-draw-button{min-height:73px!important;padding:10px 24px}.wish22-draw-button strong{font-size:29px}.wish22-draw-button span{font-size:17px}.wish22-allowance{font-size:14px;margin-top:7px}.wish22-source{font-size:14px}.wish22-cabinet-footer button{min-height:40px;padding:7px 8px;font-size:18px}.wish22-display strong{font-size:17px}.wish22-display small{font-size:13px}.wish22-pages{min-height:28px;margin:2px 0}.wish22-pages button{min-height:28px}.wish22-action{width:365px}.wish22-sphere{margin-top:-4px}.wish22-orbit{width:85px;height:85px}}
@media(max-width:1100px){.wish22-screen{padding-left:16px;padding-right:16px}.wish22-layout{gap:18px;grid-template-columns:minmax(0,1fr) minmax(355px,1fr)}.wish22-cabinet{padding-left:12px;padding-right:12px}.wish22-shelves{grid-template-columns:repeat(2,minmax(0,1fr))}.wish22-header nav{gap:8px}.wish22-back{padding:9px 15px}.wish22-wallet{font-size:18px;padding:5px 12px}.wish22-orbit-0{left:0}.wish22-orbit-1{right:0}.wish22-orbit-2{right:1%}.wish22-draw-button strong{font-size:27px}.wish22-display strong{font-size:16px}.teacher22-panel{padding:20px}}
@media(max-width:900px),(max-height:620px){.wish22-screen{height:auto;min-height:100svh;overflow:visible}.wish22-header{min-height:90px}.wish22-heading h1{font-size:38px}.wish22-heading p{font-size:16px}.wish22-header nav{flex-wrap:wrap;justify-content:flex-end}.wish22-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;flex:none}.wish22-observatory{min-height:460px;height: min(72vw,540px)}.wish22-sphere{min-height:280px}.wish22-armillary{width:min(86vw,550px)}.wish22-action{max-width:380px}.wish22-cabinet{margin:0 auto;width:100%;max-width:760px;min-height:660px}.wish22-shelves{min-height:480px}.wish22-orbit{width:92px;height:92px}.wish22-orbit-0{left:15%}.wish22-orbit-1{right:15%}.wish22-orbit-2{right:15%}.wish22-display strong{font-size:19px}.wish22-display small{font-size:14px}.wish22-header nav .wish22-back{font-size:15px}.teacher22-grid{grid-template-columns:1fr}.teacher22-demo{grid-column:auto}.teacher22-password-grid{grid-template-columns:1fr 1fr}.teacher22-panel{padding:18px}.teacher22-students{max-height:360px}}
@media(max-width:600px){.wish22-screen{padding:14px 12px}.wish22-header{min-height:113px;gap:10px}.wish22-heading h1{font-size:32px;letter-spacing:.04em}.wish22-heading p{font-size:13px}.wish22-header nav{flex-direction:column;align-items:flex-end;gap:7px;padding:0}.wish22-wallet{font-size:16px;padding:4px 9px}.wish22-wallet i{font-size:24px}.wish22-wallet strong{font-size:22px}.wish22-header nav .wish22-back{font-size:14px;min-height:36px;padding:6px 12px}.wish22-observatory{height:440px;min-height:440px}.wish22-sphere{min-height:270px}.wish22-draw-button{min-height:76px!important}.wish22-orbit{width:72px;height:72px}.wish22-orbit-0{left:2%}.wish22-orbit-1{right:2%}.wish22-orbit-2{right:3%;bottom:12%}.wish22-cabinet{padding:23px 10px 12px;min-height:570px}.wish22-cabinet h2{font-size:32px}.wish22-tabs{gap:5px}.wish22-tabs button{font-size:16px}.wish22-shelves{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,150px);flex:none;gap:8px}.wish22-display strong{font-size:17px}.wish22-display small{font-size:13px}.wish22-display:after{bottom:44px}.wish22-plinth{height:calc(100% - 43px)}.wish22-cabinet-footer button{font-size:17px;padding:8px}.wish22-modal-scrim{padding:12px}.wish22-modal{padding:18px;max-height:calc(100svh - 24px)}.wish22-modal>header{gap:12px}.wish22-modal h2{font-size:27px}.wish22-pool-table th,.wish22-pool-table td{padding:10px 6px;font-size:15px}.wish22-history article{gap:10px}.wish22-history article>span{font-size:13px}.teacher22-screen{padding:15px}.teacher22-header{align-items:flex-start;gap:14px}.teacher22-header h1{font-size:28px}.teacher22-header nav{flex-direction:column;gap:7px}.teacher22-header nav button{font-size:14px;padding:7px 10px}.teacher22-tabs{gap:6px}.teacher22-tabs button{min-width:0;flex:1;font-size:17px;padding:9px 5px}.teacher22-class{align-items:flex-start;flex-direction:column;gap:5px}.teacher22-class select{width:100%}.teacher22-password-grid{grid-template-columns:1fr}.teacher22-inline{gap:12px}.teacher22-panel h2{font-size:23px}.teacher22-demo form{align-items:stretch;flex-direction:column;gap:12px}.teacher22-demo .teacher22-field{max-width:none}.teacher22-students{max-height:280px}}
@media(prefers-reduced-motion:reduce){.wish22-screen *{animation:none!important;transition:none!important}.wish22-modal-scrim{backdrop-filter:none}}
/* Painted jade controls, fitted to each control's actual box rather than concept-sheet dimensions. */
.teacher22-coin-grid{grid-template-columns:minmax(320px,1.1fr) minmax(320px,1fr)}
.teacher22-coin-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #bcaa7b88;margin-bottom:17px;padding-bottom:13px}.teacher22-coin-heading h2{margin:0;padding:0;border:0}.teacher22-coin-heading button{font-size:14px;white-space:nowrap;padding:7px 10px}
.teacher22-coin-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:15px}.teacher22-coin-selection>span{margin-right:auto}.teacher22-coin-selection strong{color:#25695a;font-size:20px}.teacher22-coin-selection button{padding:6px 10px;font-size:14px}
.teacher22-coin-roster{max-height:395px;padding-right:4px}.teacher22-coin-student{display:flex;align-items:center;gap:11px;padding:11px 12px;margin:6px 0;border:1px solid #c7b98e;border-radius:6px;background:#fffbed;cursor:pointer;min-height:59px}.teacher22-coin-student.selected{background:#e1eddd;border-color:#55967b;box-shadow:inset 3px 0 #38826b}.teacher22-coin-student>span{flex:1;min-width:0}.teacher22-coin-student b{font-size:17px;line-height:1.45;overflow-wrap:anywhere}.teacher22-coin-student small{display:block;font-size:12px;color:#7d8066;margin-top:2px}.teacher22-coin-student em{font-style:normal;font-size:14px;white-space:nowrap;color:#7e6132;font-variant-numeric:tabular-nums}
.teacher22-coin-total{display:flex;align-items:baseline;gap:8px;padding:14px 0 18px;color:#71623e}.teacher22-coin-total strong{font-size:30px;color:#927039;font-variant-numeric:tabular-nums}.teacher22-coin-confirm{margin-top:24px;padding:18px;background:#f9edcc;border:1px solid #ac8545;border-radius:8px;box-shadow:inset 0 0 0 3px #fff6dc}.teacher22-coin-confirm h3,.teacher22-coin-result h3{font-size:21px;color:#655123;margin:0 0 12px}.teacher22-coin-confirm p{margin:10px 0;line-height:1.6}.teacher22-coin-names{overflow-wrap:anywhere;line-height:1.8;max-height:135px;overflow-y:auto}.teacher22-coin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.teacher22-coin-result{padding-top:20px;margin-top:22px;border-top:1px solid #afbc93}.teacher22-coin-result h3{color:#2b6652}.teacher22-coin-table{max-height:200px;overflow:auto}.teacher22-coin-table table{width:100%;border-collapse:collapse;font-size:15px}.teacher22-coin-table th,.teacher22-coin-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #d4ccb0}.teacher22-coin-table th:last-child,.teacher22-coin-table td:last-child{text-align:right}.teacher22-coin-pending{padding:18px 22px;margin-bottom:20px;border:1px solid #ba9252;border-radius:8px;background:#f4e5bd}.teacher22-coin-pending strong{font-size:20px}.teacher22-coin-pending p{margin:10px 0}
.teacher22-coin-history{margin-top:22px}.teacher22-coin-history details{padding:13px 0;border-top:1px solid #c7b991}.teacher22-coin-history summary{display:list-item;cursor:pointer;font-size:16px;line-height:1.8}.teacher22-coin-history summary>*{display:inline-block;margin-right:16px}.teacher22-coin-history summary time{color:#77745e;font-size:14px}.teacher22-coin-history summary strong{color:#7c5a24}.teacher22-coin-history details p{margin:9px 0 0;padding-left:18px}.teacher22-coin-history .teacher22-note{margin-top:-6px}
/* The generic teacher hover colour must not wash out the active tab. */
.teacher22-screen .teacher22-tabs button.selected,.teacher22-screen .teacher22-tabs button.selected:hover,.teacher22-screen .teacher22-tabs button.selected:focus-visible{background:linear-gradient(#326e60,#24564c);color:#fff0c8;border-color:#b79c60;box-shadow:inset 0 0 0 2px #3b7a66;text-shadow:none}
.teacher22-screen .teacher22-class>span{flex:0 0 auto;min-width:4em;white-space:nowrap}
.teacher22-screen .teacher22-class>select{flex:1 1 auto;min-width:0}
@media(max-width:800px){.teacher22-coin-grid{grid-template-columns:1fr}.teacher22-coin-roster{max-height:310px}.teacher22-coin-history summary>*{margin-right:10px}.teacher22-coin-total strong{font-size:27px}}
@media(max-width:450px){.teacher22-coin-student{gap:7px;padding:9px 8px}.teacher22-coin-student b{font-size:15px}.teacher22-coin-student em{font-size:12px}.teacher22-coin-heading h2{font-size:22px}.teacher22-coin-selection button{font-size:13px}}
.wish22-draw-button{border:0;background:transparent url('/assets/v22/button-jade.webp') center/100% 170% no-repeat;border-radius:0;box-shadow:none;filter:drop-shadow(0 5px 7px #03111ca6);padding:15px 48px}
.wish22-draw-button:before,.wish22-draw-button:after{display:none}
.wish22-back,.wish22-cabinet-footer button,.wish22-modal-actions button.primary{border:0;background:transparent url('/assets/v22/button-jade.webp') center/100% 170% no-repeat;box-shadow:none;border-radius:0;padding-left:28px;padding-right:28px}
.wish22-cabinet:before{inset:-7px;height:auto;border:30px solid transparent;border-image:url('/assets/v22/panel-frame.webp') 30% / 30px / 0 stretch;border-radius:0;z-index:0}
.wish22-cabinet>*{position:relative;z-index:1}

.wish22-display{padding-top:4px;padding-bottom:5px}.wish22-display strong{line-height:1.1}.wish22-display small{margin-top:1px;line-height:1.2}.wish22-plinth{height:calc(100% - 34px);padding-bottom:4px}.wish22-display:after{bottom:36px}.wish22-plinth .avatar22-composite{width:90px!important;height:90px!important;max-width:100%;max-height:none}
@media(min-width:1600px){.wish22-plinth .avatar22-composite{width:120px!important;height:120px!important}.wish22-plinth{height:calc(100% - 44px)}.wish22-display:after{bottom:46px}}
@media(max-height:740px) and (min-width:1000px){.wish22-cabinet{padding-top:15px;padding-bottom:10px}.wish22-cabinet h2{font-size:28px;margin-bottom:5px}.wish22-tabs{margin-bottom:7px}.wish22-tabs button{min-height:33px}.wish22-cabinet-footer button{min-height:35px;font-size:17px;padding-top:5px;padding-bottom:5px}.wish22-shelves{gap:5px}.wish22-display strong{font-size:16px}.wish22-display small{font-size:12px}.wish22-plinth{height:calc(100% - 31px)}.wish22-display:after{bottom:33px}}

/* V22.2 — one continuous cabinet, six cutout exhibits. Layout owns the
   shelves and name plaques so the painted backdrop never fixes hit targets. */
.wish222-refined .wish22-layout {
  grid-template-columns:minmax(300px,.72fr) minmax(580px,1.28fr);
  gap:clamp(18px,2vw,34px);
}
.wish222-refined .wish22-cabinet {
  --cabinet-label-height:43px;
  padding:22px 24px 14px;
  border:2px solid #a4844b;
  border-radius:8px;
  background:#09292f url('/assets/v222/treasure-shelves.webp') center/cover no-repeat;
  box-shadow:inset 0 0 0 3px #092d31,inset 0 0 0 5px #9f814b,0 12px 28px #0008;
}
.wish222-refined .wish22-cabinet:before {
  inset:-8px;
  border-width:32px;
  border-image-width:32px;
}
.wish222-refined .wish22-cabinet h2 {
  font-size:clamp(30px,2.8vw,46px);
  margin-bottom:12px;
  letter-spacing:.18em;
  text-shadow:0 3px 2px #061b1f,0 0 18px #eacb7644;
}
.wish222-refined .wish22-tabs {
  gap:8px;
  margin-bottom:8px;
  padding:0 5px;
}
.wish222-refined .wish22-tabs button {
  min-height:38px;
  padding:5px 7px;
  border-radius:9px;
  border:1px solid #c1a367;
  color:#f1e7c9;
  background:linear-gradient(170deg,#16434beb,#092c34eb);
  box-shadow:inset 0 0 0 2px #0e2a31;
  font-size:clamp(17px,1.5vw,23px);
}
.wish222-refined .wish22-tabs button.selected {
  color:#fff5c7;
  border-color:#f1d89c;
  background:radial-gradient(ellipse at 45% 10%,#4a9a8c,#1b625c 80%);
  box-shadow:inset 0 0 0 2px #3b8071,0 0 12px #e7ce7d36;
}
.wish222-refined .wish22-shelves {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:8px 4px;
  min-height:0;
  padding:0 2px 4px;
  flex:1;
}
.wish222-refined .wish22-shelves:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 -11px 0;
  pointer-events:none;
  /* Each rail follows its CSS grid row, not a percentage of a concept image. */
  background:
    linear-gradient(0deg,transparent 0 25px,#211b18 25px 28px,#9c7448 28px 30px,#543c27 30px 39px,#b99660 39px 41px,transparent 41px) 0 0/100% 50% repeat-y;
  filter:drop-shadow(0 5px 3px #0008);
}
.wish222-refined .wish22-display {
  display:grid;
  grid-template-rows:minmax(0,1fr) 26px 17px;
  justify-items:center;
  align-content:stretch;
  align-items:stretch;
  gap:0;
  padding:7px 3px 0;
  border:0!important;
  border-top:0!important;
  background:none;
  box-shadow:none;
  overflow:visible;
  border-radius:10px;
  isolation:isolate;
}
.wish222-refined .wish22-display:before {
  content:"";
  position:absolute;
  left:5%;right:5%;top:9%;bottom:35px;
  border-radius:50%;
  background:radial-gradient(ellipse at center 85%,#b8e5db20,transparent 68%);
  opacity:.5;
  pointer-events:none;
  transition:opacity .16s;
}
.wish222-refined .wish22-display:after {
  left:8%;right:8%;bottom:38px;
  height:15px;
  z-index:0;
  border:1px solid #dab97b;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 15%,#478e82,#1c5c56 60%,#183c37 75%,#b89450 80%,#4d3827 96%);
  box-shadow:0 3px 0 #9b7b45,0 6px 0 #4b3828,0 8px 4px #0008;
}
.wish222-refined .wish22-display:not(:disabled):hover,
.wish222-refined .wish22-display:focus-visible {
  filter:none;
  background:none;
}
.wish222-refined .wish22-display:hover:before,
.wish222-refined .wish22-display:focus-visible:before {opacity:1;}
.wish222-refined .wish22-plinth {
  height:100%;
  width:100%;
  min-height:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 0 3px;
  overflow:visible;
}
.wish222-refined .wish22-plinth .wish22-item-art {
  width:100%;height:100%;
  max-width:none;max-height:none;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:visible;
  transform-origin:50% 100%;
  transition:transform .18s ease-out,filter .18s ease-out;
}
.wish222-refined .wish22-plinth .wish22-item-art>img {
  width:100%;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;
  object-position:center bottom;
  flex-shrink:1;
  filter:drop-shadow(0 4px 4px #0005);
}
.wish222-refined .wish22-plinth .wish22-enchant-art {padding:4px 0 0;}
.wish222-refined .wish22-display:hover .wish22-item-art,
.wish222-refined .wish22-display:focus-visible .wish22-item-art {
  transform:translateY(-3px);
  filter:brightness(1.08);
}
.wish222-refined .wish22-plinth .avatar22-composite {
  width:clamp(84px,8.7vw,150px)!important;
  height:auto!important;
  aspect-ratio:1;
  max-width:84%;max-height:94%;
  margin-bottom:6px;
}
.wish222-refined .wish22-display .wish22-item-name {
  display:flex;align-items:center;justify-content:center;
  position:relative;
  width:min(95%,190px);
  min-height:26px;
  margin:0;
  padding:0 8px;
  border:1px solid #a58b53;
  border-radius:3px 10px;
  background:linear-gradient(90deg,#163b38ef,#0b292bef 50%,#163b38ef);
  color:#fff0c4;
  font-size:clamp(16px,1.25vw,22px);
  line-height:1.2;
  text-shadow:0 2px #102322;
}
.wish222-refined .wish22-display small {
  align-self:center;
  margin:0;
  font-size:12px;
  line-height:1.2;
  color:#c4ceb8;
  text-shadow:0 1px 2px #000;
}
.wish222-refined .wish22-display.owned small {color:#b7eddb;}
.wish222-refined .wish22-pages {min-height:28px;margin:4px 0;gap:15px;font-size:15px;}
.wish222-refined .wish22-pages button {min-height:28px;}
.wish222-refined .wish22-cabinet-footer {gap:18px;}
.wish222-refined .wish22-cabinet-footer button {min-height:44px;font-size:clamp(19px,1.6vw,26px);}
.wish222-refined .wish22-action {width:100%;max-width:390px;}
.wish222-refined .wish22-armillary {width:100%;max-width:100%;}
.wish222-refined .wish22-orbit {width:clamp(65px,7vw,100px);height:clamp(65px,7vw,100px);}
.wish222-refined .wish22-orbit-0 {left:0;}
.wish222-refined .wish22-orbit-1 {right:0;}
.wish222-refined .wish22-orbit-2 {right:2%;}

/* Detail/history reuse the same art without taking a full viewport-height image. */
.wish22-item-art {position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--wish-art-size,128px);height:var(--wish-art-size,128px);}
.wish22-item-art>img {display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;}
.wish222-refined .wish22-detail>.wish22-item-art {width:min(100%,280px);height:240px;max-width:none;max-height:none;margin:0 auto 12px;}
.wish222-refined .wish22-result-art .wish22-item-art {width:min(100%,260px);height:210px;max-width:none;max-height:none;}
.wish222-refined .wish22-history .wish22-item-art {width:64px;height:64px;flex:0 0 64px;}
.wish222-refined .wish22-orbit .wish22-item-art {width:90%;height:90%;}

@media(min-width:1600px) {
  .wish222-refined .wish22-layout {grid-template-columns:minmax(400px,.8fr) minmax(750px,1.2fr);}
  .wish222-refined .wish22-cabinet {padding:28px 30px 18px;}
  .wish222-refined .wish22-shelves {gap:14px 8px;}
  .wish222-refined .wish22-display {grid-template-rows:minmax(0,1fr) 31px 20px;}
  .wish222-refined .wish22-display .wish22-item-name {min-height:31px;font-size:22px;}
  .wish222-refined .wish22-display small {font-size:14px;}
  .wish222-refined .wish22-display:after {bottom:46px;height:18px;}
  .wish222-refined .wish22-shelves:before {background:linear-gradient(0deg,transparent 0 31px,#211b18 31px 34px,#9c7448 34px 36px,#543c27 36px 46px,#b99660 46px 48px,transparent 48px) 0 0/100% 50% repeat-y;}
  .wish222-refined .wish22-action {max-width:460px;}
}
@media(max-height:780px) and (min-width:1000px) {
  .wish222-refined .wish22-cabinet {padding-top:18px;padding-bottom:10px;}
  .wish222-refined .wish22-cabinet h2 {font-size:31px;margin-bottom:8px;}
  .wish222-refined .wish22-tabs {margin-bottom:5px;}
  .wish222-refined .wish22-tabs button {min-height:34px;font-size:17px;}
  .wish222-refined .wish22-shelves {gap:6px 4px;}
  .wish222-refined .wish22-cabinet-footer button {min-height:39px;font-size:19px;}
  .wish222-refined .wish22-draw-button {padding-left:26px;padding-right:26px;}
  .wish222-refined .wish22-draw-button strong {font-size:28px;}
}
@media(max-width:1100px) and (min-width:901px) {
  .wish222-refined .wish22-layout {grid-template-columns:minmax(255px,.62fr) minmax(500px,1.38fr);gap:16px;}
  .wish222-refined .wish22-cabinet {padding-left:18px;padding-right:18px;}
  .wish222-refined .wish22-draw-button strong {font-size:25px;}
  .wish222-refined .wish22-allowance {font-size:13px;}
  .wish222-refined .wish22-orbit {width:68px;height:68px;}
}
@media(max-width:900px),(max-height:620px) {
  .wish222-refined .wish22-layout {grid-template-columns:minmax(0,1fr);gap:30px;}
  .wish222-refined .wish22-observatory {height:440px;min-height:440px;}
  .wish222-refined .wish22-armillary {width:min(88vw,520px);}
  .wish222-refined .wish22-cabinet {min-height:700px;max-width:800px;padding:26px 24px 16px;}
  .wish222-refined .wish22-shelves {min-height:490px;}
  .wish222-refined .wish22-plinth .avatar22-composite {width:120px!important;}
  .wish222-refined .wish22-orbit-0 {left:16%;}
  .wish222-refined .wish22-orbit-1 {right:16%;}
  .wish222-refined .wish22-orbit-2 {right:16%;}
  .wish222-refined .wish22-display .wish22-item-name {font-size:18px;}
}
@media(max-width:600px) {
  .wish222-refined .wish22-cabinet {padding:25px 14px 14px;min-height:850px;}
  .wish222-refined .wish22-cabinet h2 {font-size:32px;margin-bottom:12px;}
  .wish222-refined .wish22-tabs {gap:5px;padding:0;}
  .wish222-refined .wish22-tabs button {font-size:16px;}
  .wish222-refined .wish22-shelves {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,210px);gap:8px 4px;min-height:0;flex:none;}
  .wish222-refined .wish22-shelves:before {background-size:100% calc(100% / 3);}
  .wish222-refined .wish22-cabinet-footer {gap:8px;}
  .wish222-refined .wish22-cabinet-footer button {padding-left:12px;padding-right:12px;font-size:18px;}
  .wish222-refined .wish22-display .wish22-item-name {font-size:16px;}
  .wish222-refined .wish22-display small {font-size:12px;}
  .wish222-refined .wish22-orbit-0 {left:2%;}
  .wish222-refined .wish22-orbit-1 {right:2%;}
  .wish222-refined .wish22-orbit-2 {right:3%;}
}

/* V22 演武台: intrinsic, responsive panels, no whole-screen transform. */
.pk22-lobby{--pk22-ink:#193e3b;--pk22-jade:#145a58;--pk22-gold:#c89c4c;--pk22-paper:#f3e8ce;position:relative;isolation:isolate;min-height:100svh;padding:20px clamp(18px,3vw,60px) 18px;color:var(--pk22-ink);background:linear-gradient(0deg,#102e2d82,#102e2d0a 52%,#102e2d24),url('/assets/v22/arena-background.webp') center/cover fixed}
.pk22-lobby:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;box-shadow:inset 0 0 90px #13272188}
.pk22-lobby .pk22-lobby-header{width:min(1560px,100%);margin:0 auto 22px;min-height:82px;align-items:center;background:none;border:0;box-shadow:none;padding:0}
.pk22-sign{position:relative;min-width:235px;padding:12px 36px 10px;text-align:center;background:linear-gradient(140deg,#173e3d,#102b30);border:2px solid #c8a35c;outline:1px solid #67502e;outline-offset:4px;border-radius:32px 8px 32px 8px;box-shadow:0 5px 20px #112a3388,inset 0 0 0 4px #13383a,inset 0 0 0 5px #998153}
.pk22-sign:before,.pk22-sign:after{content:'◆';position:absolute;color:#eacb82;font-size:20px;top:38%;left:-12px;text-shadow:0 2px 4px #172d2d}
.pk22-sign:after{left:auto;right:-12px}.pk22-sign small{font-size:12px;letter-spacing:3px;color:#b8d3c2}.pk22-sign h1{margin:3px 0 0;font-family:var(--shanhai-display),STKaiti,KaiTi,serif;color:#f7dea0;font-size:clamp(35px,3.2vw,54px);font-weight:700;line-height:1.04;letter-spacing:10px;text-shadow:0 2px 0 #654c23}
.pk22-lobby-layout{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(420px,2fr) minmax(245px,.95fr);gap:clamp(18px,2vw,32px);width:min(1500px,100%);margin:auto;align-items:stretch}
.pk22-lobby .v22-panel{color:var(--pk22-ink);border-radius:6px;background-color:var(--pk22-paper);box-shadow:0 8px 20px #08292577}
.pk22-self-scroll,.pk22-rules-scroll{position:relative;border:2px solid #bd9856!important;outline:1px solid #f4d99c;outline-offset:-7px;padding:26px 21px 18px;text-align:center;background-image:linear-gradient(110deg,#fff9e975,#e4cf9e33),radial-gradient(ellipse at 50% 100%,#9db6a65c,transparent 45%)!important}
.pk22-self-scroll:before,.pk22-self-scroll:after,.pk22-rules-scroll:before,.pk22-rules-scroll:after{content:'';position:absolute;z-index:2;left:-10px;right:-10px;height:17px;top:-10px;border:1px solid #8b5c2c;border-radius:7px;background:linear-gradient(90deg,#70431e 0,#e1b85d 3%,#f8e9bf 9%,#b59a6a 11%,#f2ddb3 17%,#f7e9c6 77%,#a8854d 89%,#f9de98 95%,#815322 100%);box-shadow:0 3px 5px #48351b88}
.pk22-self-scroll:after,.pk22-rules-scroll:after{top:auto;bottom:-9px;height:13px}
.pk22-self-scroll h2,.pk22-rules-scroll h2{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:30px;line-height:1.2;margin:0 0 15px;font-weight:700;letter-spacing:3px;color:#483321}
.pk22-self-scroll>.avatar22-composite,.pk22-player-card>.avatar22-composite{margin:0 auto}
.pk22-name-seal{display:block;width:fit-content;max-width:100%;margin:5px auto 0;padding:4px 19px;min-width:110px;line-height:1.45;overflow-wrap:anywhere;background:linear-gradient(#fff7e5,#e9d7ac);border:1px solid #c9ae79;box-shadow:inset 0 0 0 3px #fff5d977;border-radius:6px;font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:23px;font-weight:700;color:#183c37}
.pk22-self-meta{display:flex;justify-content:center;gap:12px;font-size:14px;padding:8px 0;color:#6b633e}.pk22-self-meta span:first-child{color:#b48123;font-weight:700}
.pk22-own-last{display:flex;justify-content:center;gap:6px;align-items:center;color:#57746a;font-size:13px}.pk22-own-last strong{font-size:18px;color:#20594e}
.pk22-self-character{height:clamp(185px,25vh,310px);position:relative;width:calc(100% + 40px);margin:0 -20px;overflow:visible}
.pk22-self-character .standing-motion218{position:relative;width:100%;height:100%;--inventory-portrait-ratio218:.96;--inventory-center218:.5}
.pk22-self-character .standing-canvas218{height:100%;width:100%;object-fit:contain}
.pk22-self-motto{margin:1px 0 0;font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:18px;letter-spacing:3px;color:#46685c}
.pk22-class-board{position:relative;display:flex;flex-direction:column;min-width:0;padding:34px 22px 13px;border:10px solid #714725!important;outline:2px solid #d6ad5e;outline-offset:-7px;background:linear-gradient(115deg,#f9f0dbed,#ecdbb9ef)!important;box-shadow:0 7px 2px #35291d,0 15px 25px #162b2577,inset 0 0 0 2px #e8c785!important}
.pk22-class-board:before,.pk22-class-board:after{position:absolute;content:'◆';font-size:28px;line-height:1;color:#dcba6e;top:3px;left:5px;text-shadow:1px 1px #4c311c}.pk22-class-board:after{left:auto;right:5px}
.pk22-board-heading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-height:58px;margin:-64px auto 16px;z-index:2;position:relative;width:min(80%,400px);padding:7px 25px 9px;border:2px solid #c89d48;border-radius:4px 27px 4px 27px;background:linear-gradient(135deg,#1b4947,#102c31);box-shadow:0 2px 0 2px #563b23,inset 0 0 0 3px #314b42}
.pk22-board-heading h2{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;color:#f4d28c;font-size:30px;letter-spacing:6px;line-height:1.15;margin:0}.pk22-board-heading>span{font-size:12px;letter-spacing:1px;color:#b6cdbb}
.pk22-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;flex:1;align-items:center}
.pk22-player-card{position:relative;padding:10px 9px 12px;min-width:0;text-align:center;border:1px solid #c0a270;border-radius:24px 5px 24px 5px;background:radial-gradient(ellipse at 50% 100%,#afbea24a,transparent 80%),linear-gradient(145deg,#faf2ddad,#f2e3c9a3);box-shadow:inset 0 0 0 5px #fff4db66}
.pk22-player-card small{display:block;font-size:12px;margin:4px 0 8px;color:#656a50}
.pk22-player-card .v22-button{min-height:36px;max-width:100%;min-width:0;width:calc(100% - 6px);font-size:19px;letter-spacing:2px;padding:7px 10px;line-height:1.2}
.pk22-player-card .v22-button:disabled{background:linear-gradient(#d1c7ad,#bfb192);color:#f7f3de;border-color:#a5946d;opacity:1;box-shadow:inset 0 0 0 2px #e2d7bd;text-shadow:none}
.pk22-pages{display:flex;align-items:center;justify-content:center;gap:19px;padding:10px 0 0;font-variant-numeric:tabular-nums;font-size:14px}
.pk22-pages button{width:32px;height:28px;line-height:1;border:1px solid #b4a078;background:#fff9e58c;color:#28534a;border-radius:4px;font-size:25px}.pk22-pages button:disabled{opacity:.35}
.pk22-empty{display:flex;flex:1;min-height:310px;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;padding:20px;color:#4d6b61}.pk22-empty-mark{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:65px;color:#b58d46;border:1px solid #cbb585;border-radius:50%;width:100px;height:100px;line-height:100px}.pk22-empty h3{margin:6px 0;font-size:24px;font-family:var(--shanhai-display),STKaiti,KaiTi,serif}.pk22-empty p{max-width:320px;margin:0;line-height:1.7;font-size:16px}
.pk22-rule-field{display:block;text-align:left;font-size:14px}.pk22-rule-field>span{display:block;color:#766346;margin:0 0 7px}.pk22-rule-field select{width:100%;padding:12px 9px;color:#24473b;font-size:18px;line-height:1.35;border:1px solid #ba9c69;background:#fff8e4;border-radius:5px;font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-weight:700}
.pk22-rule-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:12px 10px;border:1px solid #bfa578;background:#fdf5e191;box-shadow:inset 0 0 0 3px #fff7e388;text-align:left}.pk22-rule-tile>span{color:#75674d;font-size:14px}.pk22-rule-tile strong{font-size:19px;font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-weight:700}
.pk22-rule-note{font-size:14px;line-height:1.7;color:#577064;margin:13px 0 18px;text-align:left}
.pk22-optin{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c7ad7d;padding-top:18px;gap:12px}.pk22-optin>span{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:22px;font-weight:700}
.pk22-switch{width:64px;height:35px;flex:none;position:relative;border:2px solid #bf9447!important;border-radius:24px!important;background:#9b9a83!important;box-shadow:inset 0 1px 5px #203b3499!important;padding:3px!important}.pk22-switch i{display:block;height:25px;width:25px;background:#eee5c9;border:1px solid #8b9e87;border-radius:50%;transition:transform .18s ease}.pk22-switch.is-on{background:#278b7b!important}.pk22-switch.is-on i{transform:translateX(27px);background:#a4f7db;border-color:#dcffe9;box-shadow:0 0 6px #a3ffe0}.pk22-switch:disabled{opacity:.45}
.pk22-privacy-note{display:block;color:#687b66;font-size:12px;line-height:1.7;margin-top:9px;text-align:left}
.pk22-reward-seal{display:grid;gap:5px;margin-top:17px;padding:14px 6px 8px;border-top:1px solid #d3b781}.pk22-reward-seal b{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:22px;color:#9c742d;letter-spacing:4px}.pk22-reward-seal span{font-size:14px}.pk22-reward-seal small{font-size:11px;color:#697b62}
.pk22-mute{font-size:12px;color:#5c746a;background:transparent!important;border:0!important;padding:10px 0!important;text-decoration:underline;text-underline-offset:4px}
.pk22-invitation{display:flex;gap:12px;align-items:center;margin-top:12px;padding:12px;border:2px solid #d7b576;background:linear-gradient(110deg,#fdf3d5,#dfebd4);border-radius:5px;box-shadow:0 3px 8px #997d4633}
.pk22-invitation>div:nth-child(2){flex:1;min-width:0}.pk22-invitation strong{font-size:17px;color:#19584e}.pk22-invitation p{font-size:13px;color:#63705a;margin:4px 0 0}.pk22-invite-actions{display:flex;gap:8px;flex-wrap:wrap}.pk22-invite-actions button{min-height:36px;font-size:17px;padding:6px 11px}.pk22-inline-error{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;font-size:14px}.pk22-inline-error button{white-space:nowrap;text-decoration:underline;background:transparent;border:0;color:inherit;font-size:14px}
.pk22-recent-ribbon{display:flex;align-items:center;gap:18px;width:min(1500px,100%);margin:22px auto 0;padding:9px 22px;background:linear-gradient(95deg,#e9d6afea,#fff4dce8 50%,#ead6acef);border:2px solid #a78650;box-shadow:inset 0 0 0 3px #fce8bd,0 4px 10px #1a352d88;border-radius:9px;color:#34584c;min-height:66px}.pk22-recent-ribbon h2{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;letter-spacing:3px;font-size:24px;margin:0 15px 0 0;color:#735328;white-space:nowrap}.pk22-recent-ribbon p{margin:0;font-size:15px}.pk22-recent-ribbon>b{padding:3px 11px;color:#fff3c9;background:#278271;border:1px solid #c4a35b;border-radius:18px;font-family:var(--shanhai-display),STKaiti,KaiTi,serif}
/* Both duelists share one scene. Each complete-body renderer owns its canvas. */
.pk22-battle{--pk22-ink:#163c38;position:relative;isolation:isolate;min-height:690px;height:100svh;display:grid;grid-template-rows:90px minmax(220px,1fr) auto;background:#113b3d;color:#163c38;overflow:auto}
.pk22-battle-header{position:relative;z-index:5;display:grid;grid-template-columns:135px minmax(0,1fr) 170px minmax(0,1fr);align-items:center;gap:20px;padding:6px clamp(14px,3vw,56px);background:linear-gradient(180deg,#213f3ce8,#183e3dd9);box-shadow:0 4px 15px #172a2b44;border-bottom:2px solid #b99b57}
.pk22-battle-return{font-size:18px!important;min-width:0!important;min-height:40px!important;padding:8px 10px!important;white-space:nowrap}
.pk22-score-name{display:flex;align-items:center;gap:12px;min-width:0;color:#f8f0d0}.pk22-score-name>div{min-width:0}.pk22-score-name strong{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:25px;line-height:1.25;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.pk22-score-name>div>span{display:block;font-size:14px;line-height:1.4;white-space:nowrap;color:#c2dfd1;margin-top:4px}.pk22-score-name b{font-size:19px;color:#fff4c1;font-variant-numeric:tabular-nums}.pk22-score-opponent{justify-content:flex-end;text-align:right}
.pk22-time-seal{text-align:center;align-self:start;padding-top:2px}.pk22-time-seal h1{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;color:#f1d991;font-size:29px;letter-spacing:6px;margin:0;line-height:1.15}.pk22-time-seal time{display:block;border:1px solid #b9954c;color:#ffe6ab;background:#0e2c32;border-radius:20px;font-size:29px;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;margin-top:3px;box-shadow:inset 0 0 0 2px #304e4c}
.pk22-battle-stage{position:relative;min-height:220px;overflow:hidden;background:url('/assets/v22/arena-background.webp') center 61%/cover no-repeat;isolation:isolate}
.pk22-stage-haze{position:absolute;inset:0;background:linear-gradient(180deg,#e4e6bb0a 60%,#8fada52a);pointer-events:none}
.pk22-actor-slot{position:absolute;width:39%;height:95%;max-width:610px;bottom:17px;z-index:2;pointer-events:none}.pk22-actor-self{left:5%}.pk22-actor-opponent{right:5%}.pk22-actor-mirror,.pk22-actor-world{position:relative;width:100%;height:100%}.pk22-actor-opponent .pk22-actor-mirror{transform:scaleX(-1)}
.pk22-actor-world{transform:translate(calc(var(--lunge,0px) * .32),var(--lift,0px));transform-origin:center bottom}.pk22-actor-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;visibility:visible;filter:drop-shadow(0 7px 5px #183c3655)}
.pk22-ground-ring{position:absolute;z-index:-1;bottom:1.3%;left:15%;width:70%;height:9%;border:1px solid #a9f9dd88;border-radius:50%;background:radial-gradient(ellipse,#b4ffdd31,transparent 70%);box-shadow:0 0 12px #8ce6cf2b}
.pk22-actor-opponent .pk22-ground-ring{border-color:#ebd0798f;background:radial-gradient(ellipse,#ffdf7131,transparent 70%)}
.pk22-actor-load{position:absolute;z-index:10;left:15%;bottom:20%;max-width:70%;padding:10px 14px;border-radius:5px;background:#183d38e8;border:1px solid #d4b76b;color:#ffedbd;font-size:14px;text-align:center;pointer-events:auto}.pk22-actor-opponent .pk22-actor-load{transform:scaleX(-1)}.pk22-actor-load button{display:block;margin:7px auto 0;padding:5px 12px;background:#326c59;color:#ffedbd;border:1px solid #d2b46d;border-radius:3px}
.pk22-skill-banner{position:absolute;z-index:7;top:10%;left:12%;right:12%;pointer-events:none;text-align:center;color:#fff3be;text-shadow:0 2px 3px #143a3b,0 0 14px #d8f8e1;background:linear-gradient(90deg,transparent,#183b3ce8 30%,#173e3ae8 70%,transparent);animation:pk22-skill-reveal 1.25s ease both;border-block:1px solid #ebdca65c;padding:7px 0}.pk22-skill-banner small{display:block;font-size:11px;letter-spacing:4px;color:#ade7d0}.pk22-skill-banner strong{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:28px;letter-spacing:5px}
@keyframes pk22-skill-reveal{0%{opacity:0;transform:translateY(7px)}14%,68%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5px)}}
.pk22-projectile{position:absolute;z-index:4;top:48%;height:18px;width:80px;left:30%;pointer-events:none;--pk22-shot:#91f7dd;animation:pk22-shot-flight .42s ease-out both}.pk22-projectile-opponent{left:auto;right:30%;--pk22-shot:#ffdb8a;animation-name:pk22-shot-flight-reverse}.pk22-projectile i{display:block;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--pk22-shot));border-radius:80% 40% 40% 80%;box-shadow:5px 0 12px var(--pk22-shot);transform:rotate(-10deg)}.pk22-projectile b{position:absolute;right:-4px;top:-5px;width:24px;height:24px;border-radius:50%;background:#fffbdb;box-shadow:0 0 14px var(--pk22-shot);opacity:.9}.pk22-projectile-opponent i{transform:rotate(190deg)}.pk22-projectile-opponent b{right:auto;left:-4px}.pk22-projectile-mage{height:30px;width:36px}.pk22-projectile-mage i{border:2px solid #ffffd9;background:radial-gradient(circle,#fff9d9,var(--pk22-shot) 50%,transparent 72%);border-radius:50%}.pk22-projectile-bow{height:6px;width:100px}.pk22-projectile-bow b{width:13px;height:13px;border-radius:0;transform:rotate(45deg);top:-4px}.pk22-projectile-sword{height:50px;width:48px}.pk22-projectile-sword i{background:transparent;border-right:5px solid var(--pk22-shot);border-radius:50%;box-shadow:5px 0 8px var(--pk22-shot)}.pk22-projectile-sword b{display:none}.pk22-projectile-opponent.pk22-projectile-sword i{transform:rotate(180deg)}.pk22-projectile.is-special{filter:drop-shadow(0 0 5px var(--pk22-shot));scale:1.2}
@keyframes pk22-shot-flight{0%{opacity:0;transform:translateX(0) scale(.7)}15%{opacity:.9}80%{opacity:.9}100%{opacity:0;transform:translateX(32vw) scale(1)}}@keyframes pk22-shot-flight-reverse{0%{opacity:0;transform:translateX(0) scale(.7)}15%{opacity:.9}80%{opacity:.9}100%{opacity:0;transform:translateX(-32vw) scale(1)}}
.pk22-countdown{position:absolute;z-index:10;left:50%;top:42%;transform:translate(-50%,-50%);min-width:230px;max-width:80%;padding:15px 25px;text-align:center;color:#fff0b5;background:radial-gradient(ellipse,#133e3cdb,transparent 72%);text-shadow:0 2px 3px #1d463c}.pk22-countdown strong{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:clamp(40px,5vw,72px);letter-spacing:5px;line-height:1.2}.pk22-countdown p{font-size:16px;line-height:1.5;margin:8px 0 0}.pk22-countdown button{font-size:14px;padding:6px 13px;border:1px solid #e3c57d;background:#2b6459;color:#fff2c6;border-radius:4px;margin-top:10px}
.pk22-duel-ribbon{position:absolute;z-index:8;bottom:0;left:3%;right:3%;height:33px;display:flex;align-items:center;justify-content:center}.pk22-score-track{position:absolute;inset:9px 0 4px;background:linear-gradient(#fff4b4,#d5a643,#f7d881);border:1px solid #e2b752;border-radius:10px;box-shadow:0 0 0 3px #4e4d2d99,0 3px 5px #1c3e3e77;overflow:hidden}.pk22-score-track i{display:block;height:100%;background:linear-gradient(#b4ffe9,#28a78e,#91e7c8);transition:width .5s ease;border-right:2px solid #fff0b5}.pk22-duel-ribbon>strong{position:relative;background:linear-gradient(#1f4c49,#0e3438);border:1px solid #d7b362;border-radius:20px 5px 20px 5px;padding:5px 28px;font-family:var(--shanhai-display),STKaiti,KaiTi,serif;letter-spacing:2px;font-size:18px;line-height:1.25;color:#f7df9a;box-shadow:0 0 0 3px #305346}
.pk22-practice-deck{position:relative;z-index:4;padding:8px clamp(14px,3vw,56px) 7px;background:linear-gradient(#4f3828,#2a2924);border-top:2px solid #b99852;display:flex;flex-direction:column;align-items:center;min-width:0}
.pk22-practice-paper{width:100%;max-width:1680px;background:linear-gradient(100deg,#ede0ba,#fff9e7 30%,#fff8e9 72%,#ecdfbd);border:2px solid #c2a061;outline:1px solid #735d35;outline-offset:3px;border-radius:10px;box-shadow:inset 0 0 0 5px #fdf1d4,inset 0 0 25px #b2966638,0 4px 10px #191a1f5c;padding:9px 22px 7px;position:relative}
.pk22-practice-paper:before,.pk22-practice-paper:after{content:'❖';color:#af8b43;position:absolute;top:5px;left:7px;font-size:15px;opacity:.7}.pk22-practice-paper:after{left:auto;right:7px}
.pk22-practice-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#79896e;font-size:12px;margin:0 0 7px;padding:0 8px}.pk22-practice-meta b{color:#245d4f;font-weight:700;font-size:15px}
.pk22-target{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;font-size:clamp(25px,2.5vw,42px);line-height:1.5;min-height:3em;height:3em;overflow:hidden;letter-spacing:.03em;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;color:#3e463b;font-variant-ligatures:none;text-align:left;user-select:none}.pk22-target-zh{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;letter-spacing:.1em;font-weight:600;font-size:clamp(28px,2.7vw,44px)}
.pk22-target>span{display:inline-block;min-width:0}.pk22-target .is-done{color:#1b8a80}.pk22-target .is-current{background:#f1ce6b;color:#79511d;box-shadow:inset 0 0 0 1px #d2a643;border-radius:3px}.pk22-target.is-wrong .is-current{background:#e9b398;color:#962f24}
.pk22-input-row{display:flex;align-items:center;gap:16px;margin-top:6px}.pk22-next-key{display:flex;align-items:center;gap:7px;flex:none;min-width:82px;color:#7b815f;font-size:12px}.pk22-next-key kbd{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;background:#fff9dc;border:1px solid #c5b479;border-radius:4px;box-shadow:0 2px #b7a873;color:#22594b;font-size:18px;padding:0 5px;line-height:1}
.pk22-type-input{min-width:0;flex:1;border:1px solid #b9ab8a!important;background:#fffdf080!important;border-radius:6px!important;min-height:39px;font-size:20px!important;color:#1e594f!important;padding:6px 12px!important;box-shadow:inset 0 2px 4px #a28c5a26!important}.pk22-type-input:focus{outline:2px solid #3e9d86!important;outline-offset:2px}.pk22-type-input:disabled{opacity:.75;background:#e6dfc8aa!important}.pk22-type-input::placeholder{color:#818574;font-size:16px}
.pk22-input-status{min-height:21px;margin:7px 0 0;color:#5e796b;font-size:12px;line-height:1.5;text-align:center}.pk22-input-status button{padding:0 5px;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:#976a26;margin-left:8px;font-size:13px}
.pk22-keyboard-wrap{width:min(900px,90%);max-height:none;overflow:visible;padding-top:8px}.pk22-keyboard-wrap .jade-keyboard{margin:0;padding:5px 12px 6px;background:#472f2290;border:1px solid #b08f4c;box-shadow:inset 0 0 12px #1d2e2866;border-radius:8px}.pk22-keyboard-wrap .keyboard-caption{display:none}.pk22-keyboard-wrap .keyboard-row{gap:5px;margin-bottom:3px;display:flex;justify-content:center}.pk22-keyboard-wrap kbd{height:24px;min-height:24px;min-width:32px;max-width:54px;padding:2px 5px;font-size:12px;line-height:1.3;border-radius:5px;background:linear-gradient(#fff4d4,#ddc99a);border-color:#a5854a;color:#28473b;box-shadow:0 2px 0 #80613a}.pk22-keyboard-wrap .space-key{width:270px!important;max-width:270px}.pk22-keyboard-wrap .wide-key{max-width:80px}.pk22-keyboard-wrap kbd.pressed{background:linear-gradient(#b0ffe4,#60bd9d);box-shadow:0 0 8px #7ff5d1}.pk22-keyboard-wrap kbd.expected{outline:1px solid #e5c35e;background:linear-gradient(#fff5bb,#e6c872)}
.pk22-result-overlay{z-index:30;background:#092c2bb8;backdrop-filter:blur(4px)}.pk22-result-panel{width:min(610px,calc(100vw - 32px));max-height:calc(100svh - 40px);overflow:auto;padding:30px!important;text-align:center;border:3px double #c9a759!important;background:linear-gradient(140deg,#fff3d6,#ead6ad)!important;color:#264e44!important;box-shadow:0 0 0 7px #244c49,0 0 0 9px #b6964c,0 20px 50px #062724a1!important;border-radius:9px!important}
.pk22-result-panel h2{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:34px;letter-spacing:3px;color:#194b43;margin:8px 0 14px;font-weight:700}.pk22-result-panel p{font-size:17px;line-height:1.7;margin:9px 0 17px}.pk22-result-kicker{letter-spacing:4px;color:#a17e37;font-size:13px}.pk22-result-versus{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}.pk22-result-versus>div{display:flex;flex-direction:column;align-items:center;gap:7px;padding:15px 10px;background:#fff8e4a3;border:1px solid #c8ae7c;border-radius:6px}.pk22-result-versus strong{font-family:var(--shanhai-display),STKaiti,KaiTi,serif;font-size:23px}.pk22-result-versus b{font-size:25px;color:#237866}.pk22-result-versus span,.pk22-result-versus small{font-size:14px;color:#64735b}.pk22-result-reward{color:#947026;font-weight:700}.pk22-result-actions{display:flex;gap:14px;justify-content:center;margin:22px 0 0}.pk22-result-actions button{font-size:19px;min-height:46px}.pk22-reduced .pk22-projectile,.pk22-reduced .pk22-skill-banner{animation:none;display:none}
@media(min-height:950px){.pk22-lobby{padding-top:30px}.pk22-lobby .pk22-lobby-header{margin-bottom:40px}.pk22-lobby-layout{margin-top:14px}.pk22-player-card{padding-top:20px;padding-bottom:20px}.pk22-player-grid{gap:22px}.pk22-self-character{height:310px}.pk22-rules-scroll{padding-top:34px}.pk22-rule-tile{padding-block:18px;margin-block:18px}.pk22-recent-ribbon{margin-top:32px}.pk22-battle{grid-template-rows:104px minmax(300px,1fr) auto}.pk22-battle-header{padding-block:10px}.pk22-practice-paper{padding-block:16px}.pk22-keyboard-wrap{max-height:none;padding-top:13px}.pk22-keyboard-wrap kbd{height:28px;font-size:14px}.pk22-target{font-size:42px}}
@media(max-width:1300px){.pk22-lobby{padding:16px 20px}.pk22-lobby-layout{grid-template-columns:minmax(185px,.8fr) minmax(395px,1.75fr) minmax(220px,.9fr);gap:20px}.pk22-self-scroll,.pk22-rules-scroll{padding-inline:16px}.pk22-class-board{padding-inline:15px}.pk22-self-character{height:200px}.pk22-rules-scroll h2{font-size:27px}.pk22-rule-tile{padding:10px 8px}.pk22-rule-note{font-size:13px;margin-bottom:14px}.pk22-reward-seal{margin-top:12px;padding-top:12px}.pk22-battle-header{grid-template-columns:112px minmax(0,1fr) 145px minmax(0,1fr);gap:12px;padding-inline:17px}.pk22-score-name strong{font-size:22px}.pk22-score-name>div>span{font-size:12px}.pk22-score-name b{font-size:17px}.pk22-score-name{gap:8px}.pk22-practice-deck{padding-inline:18px}}
@media(max-height:790px) and (min-width:1051px){.pk22-lobby .pk22-lobby-header{min-height:69px;margin-bottom:20px}.pk22-sign{padding:9px 30px}.pk22-sign h1{font-size:35px}.pk22-lobby-layout{gap:21px}.pk22-self-scroll,.pk22-rules-scroll{padding-top:20px}.pk22-self-scroll h2,.pk22-rules-scroll h2{font-size:26px;margin-bottom:11px}.pk22-self-character{height:165px}.pk22-player-card{padding-top:6px;padding-bottom:8px}.pk22-player-card .avatar22-composite{--avatar22-size:94px!important}.pk22-player-grid{gap:10px}.pk22-player-card small{margin:2px 0 5px}.pk22-name-seal{font-size:21px;padding-block:1px}.pk22-rule-tile{margin:9px 0;padding:10px}.pk22-rule-note{margin:10px 0 12px;line-height:1.5}.pk22-optin{padding-top:12px}.pk22-reward-seal{margin-top:10px;padding-top:10px}.pk22-recent-ribbon{margin-top:17px;padding:6px 18px;min-height:57px}.pk22-battle{grid-template-rows:80px minmax(220px,1fr) auto}.pk22-time-seal h1{font-size:25px}.pk22-time-seal time{font-size:26px}.pk22-score-name .avatar22-composite{--avatar22-size:62px!important}.pk22-target{font-size:28px;line-height:1.4;height:2.8em;min-height:2.8em}.pk22-target-zh{font-size:30px}.pk22-practice-paper{padding-top:7px;padding-bottom:4px}.pk22-keyboard-wrap{max-height:none}.pk22-keyboard-wrap kbd{height:21px;min-height:21px;font-size:11px}.pk22-input-row{margin-top:4px}.pk22-type-input{min-height:34px;font-size:18px!important}.pk22-practice-meta{margin-bottom:4px}.pk22-input-status{margin-top:4px;font-size:12px}.pk22-actor-slot{bottom:20px;height:94%}}
@media(max-width:1050px){.pk22-lobby{padding-inline:15px}.pk22-lobby-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.pk22-self-scroll{display:none}.pk22-lobby .pk22-lobby-header{margin-bottom:25px}.pk22-sign{min-width:190px}.pk22-sign h1{font-size:34px}.pk22-invitation{flex-wrap:wrap}.pk22-invite-actions{margin-left:auto}.pk22-battle-header{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:9px;padding-inline:12px}.pk22-battle-return{position:absolute;top:91px;left:12px;z-index:10;font-size:14px!important;min-height:30px!important;padding:5px 10px!important}.pk22-time-seal h1{font-size:22px}.pk22-time-seal time{font-size:24px}.pk22-score-name .avatar22-composite{--avatar22-size:54px!important}.pk22-score-name strong{font-size:19px}.pk22-score-name>div>span{font-size:11px;white-space:normal}.pk22-score-name b{font-size:15px}.pk22-practice-deck{padding-inline:12px}.pk22-practice-meta>span:last-child{display:none}.pk22-keyboard-wrap{width:98%}.pk22-target{font-size:26px}.pk22-score-name{gap:6px}}
@media(max-width:720px){.pk22-lobby-layout{display:flex;flex-direction:column}.pk22-rules-scroll{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;order:-1;padding:20px}.pk22-rules-scroll h2{grid-column:1/-1;margin-bottom:0}.pk22-rule-note,.pk22-privacy-note,.pk22-reward-seal,.pk22-mute{display:none}.pk22-rule-tile{margin:0;padding:9px}.pk22-rule-field{grid-row:2/4}.pk22-optin{border-top:0;padding:0;grid-column:1/-1;justify-content:center}.pk22-class-board{margin-top:25px}.pk22-lobby .pk22-lobby-header{gap:15px;align-items:center}.pk22-lobby-header>.v22-button-secondary{font-size:15px;padding:8px;min-height:36px}.pk22-sign{min-width:150px;padding-inline:17px}.pk22-sign h1{font-size:28px;letter-spacing:5px}.pk22-sign small{font-size:9px;letter-spacing:1px}.pk22-recent-ribbon{flex-wrap:wrap;gap:9px}.pk22-recent-ribbon h2{font-size:20px}.pk22-battle{min-height:710px;grid-template-rows:83px minmax(220px,1fr) auto}.pk22-battle-return{top:91px}.pk22-score-name .avatar22-composite{--avatar22-size:42px!important}.pk22-score-name strong{font-size:16px}.pk22-time-seal{width:85px;justify-self:center}.pk22-time-seal h1{font-size:20px;letter-spacing:2px}.pk22-time-seal time{font-size:21px}.pk22-battle-header{grid-template-columns:minmax(0,1fr) 85px minmax(0,1fr)}.pk22-score-name>div>span{font-size:10px}.pk22-score-name b{font-size:13px}.pk22-actor-slot{width:53%;height:95%;bottom:27px}.pk22-actor-self{left:-4%}.pk22-actor-opponent{right:-4%}.pk22-duel-ribbon>strong{font-size:14px;padding:6px 14px}.pk22-practice-paper{padding:9px 11px}.pk22-practice-meta{font-size:10px;padding:0}.pk22-practice-meta b{font-size:12px}.pk22-target{font-size:22px}.pk22-target-zh{font-size:25px}.pk22-next-key{display:none}.pk22-type-input{min-height:35px;font-size:16px!important}.pk22-type-input::placeholder{font-size:14px}.pk22-keyboard-wrap{display:none}.pk22-practice-deck{padding-bottom:14px}.pk22-input-status{font-size:11px}.pk22-result-panel{padding:22px 18px!important}.pk22-result-panel h2{font-size:29px}.pk22-result-versus{gap:12px}.pk22-result-versus span{font-size:12px}.pk22-skill-banner strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.pk22-projectile,.pk22-skill-banner{animation:none;display:none}.pk22-switch i,.pk22-score-track i{transition:none}}

/* Keep the painted frame on the board; scroll rods are their own rigid strips. */
.pk22-lobby .pk22-self-scroll::before,.pk22-lobby .pk22-self-scroll::after,.pk22-lobby .pk22-rules-scroll::before,.pk22-lobby .pk22-rules-scroll::after{display:block;width:auto;border-image:none;pointer-events:none}
.pk22-lobby .pk22-class-board::before{content:'';inset:-15px;width:auto;height:auto;border:38px solid transparent;border-image-source:url('/assets/v22/panel-frame.webp');border-image-slice:30%;border-image-width:38px;border-image-repeat:stretch;z-index:3;pointer-events:none}
.pk22-lobby .pk22-class-board::after{display:none}
/* Canvas keeps its 1296:936 artboard ratio. InventoryFit uses one CSS unit for
   both axes; stretching width/height independently would shorten the body. */
.pk22-actor-canvas{inset:auto;top:0;left:50%;right:auto;bottom:auto;height:100%;width:auto;max-width:none;aspect-ratio:1296/936;transform:translateX(-50%);object-fit:contain}
.pk22-self-character .standing-canvas218{top:0;left:50%;height:100%;width:auto;max-width:none;aspect-ratio:1296/936;transform:translateX(-50%);object-fit:contain}
/* The board title sits above the decorative timber, never under its top edge. */
.pk22-board-heading{z-index:4}
/* A 125% browser zoom on a 1366×768 classroom display is about 1093×614 CSS px.
   Preserve the two readable text lines and all keyboard rows; reclaim scene
   height first. These rules intentionally do not shrink normal 720px+ screens. */
@media(max-height:680px) and (min-width:721px){
 .pk22-battle{min-height:0;height:100svh;grid-template-rows:68px minmax(150px,1fr) auto}
 .pk22-battle-header{padding-block:3px}
 .pk22-score-name .avatar22-composite{--avatar22-size:52px!important}
 .pk22-score-name strong{font-size:20px}.pk22-score-name>div>span{font-size:11px}.pk22-score-name b{font-size:16px}
 .pk22-time-seal h1{font-size:22px}.pk22-time-seal time{font-size:23px}
 .pk22-battle-stage{min-height:150px}
 .pk22-actor-slot{height:94%;bottom:20px}
 .pk22-practice-deck{padding-top:7px;padding-bottom:6px}
 .pk22-practice-paper{padding-top:6px;padding-bottom:4px}
 .pk22-target{font-size:26px;line-height:1.35;height:2.7em;min-height:2.7em}
 .pk22-target-zh{font-size:30px}
 .pk22-practice-meta{margin-bottom:4px;font-size:11px}
 .pk22-input-row{margin-top:4px}.pk22-type-input{min-height:34px!important;font-size:18px!important}
 .pk22-input-status{min-height:18px;margin-top:4px;font-size:12px}
 .pk22-keyboard-wrap{padding-top:7px;max-height:none;overflow:visible}
 .pk22-keyboard-wrap .jade-keyboard{padding-top:5px;padding-bottom:5px}
 .pk22-keyboard-wrap .keyboard-row{margin-top:0;margin-bottom:3px;min-height:0}
 .pk22-keyboard-wrap .keyboard-row:last-child{margin-bottom:0}
 .pk22-keyboard-wrap kbd{height:21px;min-height:21px;font-size:11px}
}
@media(max-height:680px) and (min-width:721px) and (max-width:1050px){.pk22-battle-return{top:76px}}

/* V22.2 approved academy-terrace layout. Only the duel surface is restyled:
   the real input, full keyboard and authoritative PK state remain intact. */
.pk22-battle{
 --pk222-gold:#c5a15b;--pk222-paper:#fff7df;--pk222-deep:#103c3b;
 min-height:640px;height:100svh;grid-template-rows:minmax(250px,1fr) minmax(350px,46svh);
 background:#183f3d;overflow:hidden;padding:0;gap:0;
}
.pk22-battle .pk22-battle-header{
 position:absolute;inset:0 0 auto;z-index:12;height:clamp(74px,10svh,112px);
 display:grid;grid-template-columns:minmax(0,1fr) clamp(130px,14vw,215px) minmax(0,1fr);
 gap:clamp(13px,2.4vw,44px);padding:7px clamp(145px,14vw,250px) 0;
 background:linear-gradient(#11383880,transparent);box-shadow:none;border:0;pointer-events:none;
}
.pk22-battle .pk22-battle-header>*{pointer-events:auto}
.pk22-battle .pk22-battle-return{
 position:absolute;top:16px;left:clamp(12px,1.6vw,30px);font-size:clamp(14px,1.15vw,20px)!important;
 min-height:36px!important;padding:5px 14px!important;border-radius:25px 8px 25px 8px!important;
 background:linear-gradient(135deg,#163e3df0,#28534ee8)!important;border:1px solid #dec182!important;
 box-shadow:inset 0 0 0 3px #113b3a,0 2px 5px #163b3544!important;color:#fff0c8!important;
}
.pk22-battle .pk22-score-name{
 gap:clamp(8px,1vw,18px);align-self:start;margin-top:4px;position:relative;
 background:linear-gradient(100deg,#1b4847e8,#123a3beb);border-block:1px solid #debf77;
 border-radius:34px 12px 12px 34px;padding:4px 14px 4px 5px;min-height:58px;
 box-shadow:0 0 0 2px #254e4677,0 3px 6px #173d3a44;
}
.pk22-battle .pk22-score-name::after{
 content:'';position:absolute;inset:4px;border:1px solid #b5914a66;border-radius:inherit;pointer-events:none;
}
.pk22-battle .pk22-score-name .avatar22-composite{--avatar22-size:clamp(56px,7.4svh,84px)!important;flex:none}
.pk22-battle .pk22-score-name>div:not(.avatar22-composite){flex:1;min-width:0}
.pk22-battle .pk22-score-name strong{font-size:clamp(19px,1.5vw,28px);letter-spacing:2px;color:#fff7dc;line-height:1.2}
.pk22-battle .pk22-score-name>div>span{font-size:clamp(11px,.91vw,16px);margin-top:6px;color:#e5ebd9;line-height:1.2}
.pk22-battle .pk22-score-name b{font-size:inherit;color:#fff4c9}
.pk22-battle .pk22-score-opponent{border-radius:12px 34px 34px 12px;padding:4px 5px 4px 14px}
.pk22-battle .pk22-time-seal{align-self:start;padding:0;position:relative;filter:drop-shadow(0 2px 1px #173b3c66)}
.pk22-battle .pk22-time-seal h1{
 margin:-7px -5px 0;padding:4px 8px 8px;line-height:1.2;color:#193e37;
 font-size:clamp(29px,2.65vw,47px);font-weight:800;letter-spacing:4px;
 border:1px solid #c9a55c;border-radius:0 0 28px 28px;
 background:radial-gradient(ellipse at center,#fff6dc,#e9d8ad);box-shadow:inset 0 0 0 4px #faf0d4,inset 0 0 0 5px #c2a164;
}
.pk22-battle .pk22-time-seal time{
 width:82%;margin:2px auto 0;border:1px solid #d7b86c;border-radius:5px;
 font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.55vw,44px);line-height:1.04;
 color:#ffedc1;background:linear-gradient(#214c48,#143c3c);padding:2px 6px;
 box-shadow:inset 0 0 0 2px #305651,0 0 0 2px #c8aa68;letter-spacing:2px;
}
.pk22-battle .pk22-battle-stage{
 grid-row:1;min-height:0;background-image:url('/assets/v222/arena-terrace.webp?rev=222-panorama');
 background-position:center bottom;background-size:cover;background-repeat:no-repeat;
 overflow:hidden;isolation:isolate;
}
.pk22-battle .pk22-stage-haze{background:linear-gradient(180deg,transparent 70%,#163a3c15);pointer-events:none}
.pk22-battle .pk22-actor-slot{width:38%;max-width:680px;height:min(350px,calc(100% - 91px));bottom:49px}
.pk22-battle .pk22-actor-self{left:3.5%}.pk22-battle .pk22-actor-opponent{right:3.5%}
.pk22-battle .pk22-actor-canvas{filter:drop-shadow(0 5px 3px #1b3b3b66);image-rendering:auto}
.pk22-battle .pk22-ground-ring{bottom:1.4%;left:21%;width:58%;height:5%;border:0;background:radial-gradient(ellipse,#173c3955,transparent 72%);box-shadow:none}
.pk22-battle .pk22-actor-opponent .pk22-ground-ring{border:0;background:radial-gradient(ellipse,#173c3955,transparent 72%)}
.pk22-battle .pk22-skill-banner{top:13%;padding:7px 0;left:8%;right:8%}
.pk22-battle .pk22-projectile{top:54%}
.pk22-battle .pk22-countdown{top:51%}
.pk22-battle .pk22-duel-ribbon{
 left:0;right:0;bottom:0;height:clamp(40px,5.5svh,59px);display:grid;
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;padding:0 clamp(45px,8vw,160px);
 border-block:2px solid #cbb372;background:linear-gradient(#28615a,#143e3d 45%,#1a4643);
 box-shadow:inset 0 4px #163f3f,inset 0 -4px #143c3c,0 -2px #f7e0a1,0 3px #755f36;
 color:#fff0bf;
}
.pk22-battle .pk22-duel-ribbon::before,.pk22-battle .pk22-duel-ribbon::after{
 content:'❧';position:absolute;left:17px;top:50%;transform:translateY(-52%);font-size:48px;line-height:1;color:#d3be7b;text-shadow:0 2px #0a3031;pointer-events:none;
}
.pk22-battle .pk22-duel-ribbon::after{left:auto;right:17px;transform:translateY(-52%) scaleX(-1)}
.pk22-battle .pk22-duel-ribbon>strong{
 border:1px solid #c5a562;border-radius:24px 5px 24px 5px;box-shadow:inset 0 0 0 3px #28534c,0 0 0 2px #153936;
 font-size:clamp(15px,1.35vw,24px);font-weight:600;letter-spacing:2px;padding:6px 26px;background:#123b3c;white-space:nowrap;
}
.pk22-battle .pk22-ribbon-score{display:flex;align-items:baseline;justify-content:center;gap:12px;white-space:nowrap;font-family:var(--shanhai-display),STKaiti,KaiTi,serif}
.pk22-battle .pk22-ribbon-score span{font-size:clamp(13px,1.1vw,21px);color:#e6ecdb}
.pk22-battle .pk22-ribbon-score b{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.3vw,42px);font-weight:700;letter-spacing:1px;font-variant-numeric:tabular-nums}
.pk22-battle .pk22-score-track{inset:auto 0 -1px;height:2px;border:0;box-shadow:none;border-radius:0;opacity:.9;pointer-events:none}
.pk22-battle .pk22-score-track i{border-right:0}
.pk22-battle .pk22-practice-deck{
 grid-row:2;min-height:0;padding:9px clamp(10px,1.5vw,28px) 8px;display:grid;
 grid-template-rows:minmax(174px,.93fr) minmax(146px,1fr);gap:9px;align-items:stretch;justify-items:center;
 background:linear-gradient(90deg,#3c3027,#7a5b3d 2%,#4b3b2c 50%,#725338 98%,#352c25);border-top:0;
}
.pk22-battle .pk22-practice-paper{
 max-width:none;width:100%;min-height:0;padding:10px clamp(54px,9vw,178px) 8px;display:flex;flex-direction:column;
 background:linear-gradient(100deg,#ede0bc,#fff8e5 18%,#fff9e9 77%,#e8dab5);background-image:url('/assets/v222/duel-parchment.webp');
 background-color:#fff7df;background-size:cover;background-position:center;border:1px solid #b39255;border-radius:8px;outline:1px solid #d8c08b;outline-offset:2px;
 box-shadow:inset 0 0 0 4px #f9ebcc88,inset 0 0 32px #ad8c5121,0 3px 6px #142c2d4d;
}
.pk22-battle .pk22-practice-paper::before,.pk22-battle .pk22-practice-paper::after{
 content:'';position:absolute;left:6px;top:8px;bottom:8px;width:3px;height:auto;border:0;border-radius:4px;
 background:linear-gradient(#ba8f3a,#f3d790 15%,#b68a3d 80%,#d8bc73);box-shadow:1px 0 #fff5d6;opacity:.7;
}
.pk22-battle .pk22-practice-paper::after{left:auto;right:6px}
.pk22-battle .pk22-practice-meta{flex:none;color:#6a6e55;font-size:clamp(12px,.98vw,18px);line-height:1.2;margin:0 0 4px;padding:0;min-height:17px}
.pk22-battle .pk22-practice-meta>span:last-child{display:block;font-size:.9em;color:#758168}
.pk22-battle .pk22-practice-meta b{font-size:1.1em;color:#1f7060}
.pk22-battle .pk22-target{
 flex:1;min-height:2.8em;height:2.8em;max-height:3em;line-height:1.4;font-size:clamp(26px,2.4vw,44px);
 letter-spacing:.025em;color:#24382f;text-shadow:0 1px #fffaf0;display:block;margin:0;
}
.pk22-battle .pk22-target-zh{font-size:clamp(28px,2.6vw,48px);letter-spacing:.08em;line-height:1.35;font-weight:600}
.pk22-battle .pk22-target .is-current{position:relative;background:#e7bd511f;border-radius:0;box-shadow:inset 2px 0 #bf8d2f;color:#2e4938}
.pk22-battle .pk22-target .is-current.is-space::after{content:'␣';position:absolute;inset:0;color:#b28635;text-align:center}
.pk22-battle .pk22-target.is-wrong .is-current{background:#e6b19980;color:#9f392a;box-shadow:inset 2px 0 #b44b33}
.pk22-battle .pk22-target .is-done{color:#13786c}
.pk22-battle .pk22-input-row{flex:none;gap:12px;margin-top:3px;min-height:30px}
.pk22-battle .pk22-next-key{font-size:12px;color:#68775f;gap:7px;min-width:75px}
.pk22-battle .pk22-next-key kbd{height:27px;min-width:27px;font-size:16px;background:#fff9e5;border-color:#c3ad75;box-shadow:0 2px #b69c61}
.pk22-battle .pk22-type-input{
 min-height:31px!important;height:31px;font-size:18px!important;line-height:1.2!important;padding:3px 10px!important;
 border:1px solid #bcad8533!important;border-bottom-color:#a9986866!important;background:#fffaf14a!important;border-radius:4px!important;box-shadow:none!important;
}
.pk22-battle .pk22-type-input:focus{outline:1px solid #41857280!important;outline-offset:0;background:#fffaf17a!important}
.pk22-battle .pk22-type-input::placeholder{font-size:14px;color:#78836e}
.pk22-battle .pk22-input-status{flex:none;margin:4px 0 0;font-size:12px;line-height:1.25;min-height:15px;color:#697b65}
.pk22-battle .pk22-input-status:has(button){min-height:17px}
.pk22-battle .pk22-keyboard-wrap{
 width:min(1440px,91%);height:100%;max-height:none;min-height:0;padding:0;overflow:visible;position:relative;
 background:#18443f;
 border:2px solid #b79553;border-radius:18px 18px 6px 6px;box-shadow:inset 0 0 0 4px #183b38,inset 0 0 0 5px #c9ab6c,0 4px 0 #654a31,0 6px 10px #172d2b4d;
}
.pk22-battle .pk22-keyboard-wrap::before{content:'';position:absolute;inset:0;border:22px solid transparent;border-image:url('/assets/v222/keyboard-desk.webp') 180 fill / 22px / 0 stretch;pointer-events:none;border-radius:inherit}
.pk22-battle .pk22-keyboard-wrap .jade-keyboard{
 position:relative;z-index:1;width:100%;max-width:none;height:100%;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:4px;margin:0;padding:8px clamp(12px,2vw,36px);
 border:0;box-shadow:none;border-radius:inherit;background:linear-gradient(90deg,#143d3822,#1a474522,#143d3822);
}
.pk22-battle .pk22-keyboard-wrap .keyboard-caption{display:none}
.pk22-battle .pk22-keyboard-wrap .keyboard-row{display:flex;flex:1;min-height:0;gap:clamp(4px,.55vw,10px);margin:0;align-items:stretch;justify-content:center}
.pk22-battle .pk22-keyboard-wrap kbd{
 flex:1;height:auto;min-height:0;min-width:0;max-width:82px;display:flex;align-items:center;justify-content:center;
 padding:2px 4px;font-family:Georgia,'Times New Roman',var(--shanhai-display),serif;font-size:clamp(13px,1.35vw,23px);line-height:1;
 border:1px solid #bc9d65;border-radius:6px;background:linear-gradient(145deg,#fffdf1,#ede3cb);
 color:#264940;box-shadow:inset 0 0 0 2px #fff8e5,0 2px 0 #b18b4f,0 3px 3px #0b292a55;text-shadow:0 1px #fff;
}
.pk22-battle .pk22-keyboard-wrap .wide-key{flex:1.65;max-width:135px;font-size:clamp(11px,1.02vw,18px)}
.pk22-battle .pk22-keyboard-wrap .space-key{width:auto!important;flex:6.5;max-width:560px!important}
.pk22-battle .pk22-keyboard-wrap kbd.pressed{
 background:linear-gradient(145deg,#c3ffe4,#68c8a8);border-color:#58ba9c;box-shadow:inset 0 0 0 2px #a2efd0,0 1px 0 #5d9c7a,0 0 10px #8dfbd6b3;transform:translateY(1px);color:#175445;
}
.pk22-battle .pk22-keyboard-wrap kbd.expected{outline:1px solid #e1bc60;outline-offset:1px;background:linear-gradient(#fff4c5,#e8cf8f)}
@media(min-height:950px){
 .pk22-battle{grid-template-rows:minmax(320px,1fr) minmax(380px,48svh)}
 .pk22-battle .pk22-practice-deck{grid-template-rows:minmax(200px,1fr) minmax(170px,1fr);gap:12px;padding-top:12px;padding-bottom:13px}
 .pk22-battle .pk22-practice-paper{padding-block:14px 10px}
 .pk22-battle .pk22-input-row{margin-top:6px}.pk22-battle .pk22-type-input{height:36px;min-height:36px!important;font-size:21px!important}
 .pk22-battle .pk22-input-status{font-size:14px;min-height:18px}.pk22-battle .pk22-input-status button{font-size:15px}
 .pk22-battle .pk22-keyboard-wrap .jade-keyboard{padding-block:12px;gap:6px}
 .pk22-battle .pk22-actor-slot{height:min(350px,calc(100% - 114px));bottom:60px}
}
@media(max-width:1200px){
 .pk22-battle .pk22-battle-header{padding-inline:112px;gap:15px}
 .pk22-battle .pk22-battle-return{font-size:12px!important;padding-inline:9px!important;left:8px}
 .pk22-battle .pk22-duel-ribbon{gap:15px;padding-inline:35px}
 .pk22-battle .pk22-duel-ribbon::before,.pk22-battle .pk22-duel-ribbon::after{font-size:30px;left:6px}
 .pk22-battle .pk22-duel-ribbon::after{left:auto;right:6px}
 .pk22-battle .pk22-ribbon-score{gap:7px}.pk22-battle .pk22-duel-ribbon>strong{padding:6px 15px}
 .pk22-battle .pk22-keyboard-wrap{width:95%}
}
@media(max-height:680px) and (min-width:721px){
 .pk22-battle{min-height:0;grid-template-rows:minmax(190px,1fr) 323px}
 .pk22-battle .pk22-battle-header{height:67px;padding-top:4px;grid-template-columns:minmax(0,1fr) 125px minmax(0,1fr)}
 .pk22-battle .pk22-battle-return{top:12px}
 .pk22-battle .pk22-score-name{min-height:50px;padding-block:2px}.pk22-battle .pk22-score-name .avatar22-composite{--avatar22-size:47px!important}
 .pk22-battle .pk22-score-name strong{font-size:18px}.pk22-battle .pk22-score-name>div>span{font-size:10px;margin-top:4px}
 .pk22-battle .pk22-time-seal h1{font-size:26px;padding-bottom:5px}.pk22-battle .pk22-time-seal time{font-size:24px}
 .pk22-battle .pk22-actor-slot{height:calc(100% - 69px);bottom:40px}
 .pk22-battle .pk22-duel-ribbon{height:36px}.pk22-battle .pk22-duel-ribbon>strong{font-size:14px;padding-block:5px}
 .pk22-battle .pk22-ribbon-score b{font-size:23px}.pk22-battle .pk22-ribbon-score span{font-size:12px}
 .pk22-battle .pk22-practice-deck{grid-template-rows:166px minmax(0,1fr);padding-block:6px;gap:7px}
 .pk22-battle .pk22-practice-paper{padding-block:7px 5px}.pk22-battle .pk22-practice-meta{font-size:11px;min-height:14px}
 .pk22-battle .pk22-target{font-size:26px}.pk22-battle .pk22-target-zh{font-size:28px}
 .pk22-battle .pk22-input-row{margin-top:2px}.pk22-battle .pk22-type-input{height:29px;min-height:29px!important;font-size:17px!important}
 .pk22-battle .pk22-input-status{margin-top:3px;font-size:11px;min-height:14px}
 .pk22-battle .pk22-keyboard-wrap .jade-keyboard{padding-block:6px;gap:3px}.pk22-battle .pk22-keyboard-wrap kbd{font-size:14px}
 .pk22-battle .pk22-keyboard-wrap .wide-key{font-size:11px}
}
@media(max-width:900px){
 .pk22-battle .pk22-battle-header{padding-inline:16px;grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr);gap:10px}
 .pk22-battle .pk22-battle-return{top:79px;left:12px}
 .pk22-battle .pk22-score-name{padding-right:7px;gap:6px}.pk22-battle .pk22-score-opponent{padding-left:7px;padding-right:4px}
 .pk22-battle .pk22-score-name .avatar22-composite{--avatar22-size:48px!important}
 .pk22-battle .pk22-score-name strong{font-size:18px;letter-spacing:1px}.pk22-battle .pk22-score-name>div>span{font-size:10px;white-space:normal}
 .pk22-battle .pk22-time-seal h1{font-size:27px;letter-spacing:2px}.pk22-battle .pk22-time-seal time{font-size:25px}
 .pk22-battle .pk22-duel-ribbon{gap:8px;padding-inline:15px}.pk22-battle .pk22-duel-ribbon::before,.pk22-battle .pk22-duel-ribbon::after{display:none}
 .pk22-battle .pk22-duel-ribbon>strong{font-size:13px;letter-spacing:0;padding-inline:9px}
 .pk22-battle .pk22-ribbon-score{gap:5px}.pk22-battle .pk22-ribbon-score span{font-size:11px}.pk22-battle .pk22-ribbon-score b{font-size:22px}
}
@media(max-width:720px){
 .pk22-battle{min-height:700px;height:100svh;overflow:auto;grid-template-rows:minmax(270px,1fr) 330px}
 .pk22-battle .pk22-battle-header{padding-inline:10px;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:6px}
 .pk22-battle .pk22-score-name .avatar22-composite{--avatar22-size:36px!important}.pk22-battle .pk22-score-name strong{font-size:15px}
 .pk22-battle .pk22-time-seal h1{font-size:23px;letter-spacing:1px}.pk22-battle .pk22-time-seal time{font-size:22px}
 .pk22-battle .pk22-score-name>div>span{font-size:9px}.pk22-battle .pk22-score-name b{font-size:10px}
 .pk22-battle .pk22-actor-slot{width:48%;height:calc(100% - 90px)}.pk22-battle .pk22-actor-self{left:0}.pk22-battle .pk22-actor-opponent{right:0}
 .pk22-battle .pk22-practice-deck{grid-template-rows:172px minmax(0,1fr);gap:7px;padding:7px}
 .pk22-battle .pk22-practice-paper{padding:7px 12px}.pk22-battle .pk22-practice-meta{font-size:10px}
 .pk22-battle .pk22-practice-meta>span:last-child{display:none}.pk22-battle .pk22-target{font-size:24px}.pk22-battle .pk22-target-zh{font-size:26px}
 .pk22-battle .pk22-keyboard-wrap{display:block;width:100%}.pk22-battle .pk22-keyboard-wrap .jade-keyboard{padding:7px;gap:4px}
 .pk22-battle .pk22-keyboard-wrap .keyboard-row{gap:3px}.pk22-battle .pk22-keyboard-wrap kbd{font-size:11px;border-radius:4px;padding:1px}.pk22-battle .pk22-keyboard-wrap .wide-key{font-size:8px}
 .pk22-battle .pk22-ribbon-score span{display:none}.pk22-battle .pk22-duel-ribbon{grid-template-columns:1fr auto 1fr}
 .pk22-battle .pk22-next-key{display:none}
}
/* Approved diorama depth: only the keyboard tilts, so the text and native IME
   stay on a flat, readable plane. Perspective is cosmetic, not a hit target. */
.pk22-battle .pk22-keyboard-wrap{
 transform:perspective(1000px) rotateX(20deg);transform-origin:center bottom;
 border-radius:16px 16px 8px 8px;border-bottom-width:5px;
 box-shadow:inset 0 0 0 3px #214842,inset 0 0 0 5px #d0b477,0 5px 0 #ad8249,0 9px 0 #5e402b,0 14px 15px #14282480;
}
.pk22-battle .pk22-keyboard-wrap .jade-keyboard{width:100%;max-width:none;padding-inline:clamp(18px,2.5vw,45px)}
.pk22-battle .pk22-keyboard-wrap .keyboard-row{width:100%;max-width:none}
.pk22-battle .pk22-keyboard-wrap kbd{
 position:relative;border:1px solid #ba9b63;border-bottom:3px solid #b79357;
 background:linear-gradient(145deg,#fffdf2 0%,#fff9e8 38%,#e7dac0 100%);
 box-shadow:inset 0 0 0 2px #fffdf0,inset 0 3px 3px #fff,0 3px 0 #d3b77a,0 5px 0 #8b6b3c,0 6px 5px #0c272a8c;
 text-shadow:0 1px #fffdf3;font-weight:600;transition:background 70ms,box-shadow 70ms,transform 70ms;
}
.pk22-battle .pk22-keyboard-wrap kbd::before{content:'';position:absolute;inset:2px 3px auto;height:35%;border-radius:4px 4px 8px 8px;background:linear-gradient(#ffffffa8,#fff0);pointer-events:none}
.pk22-battle .pk22-keyboard-wrap kbd.expected{background:linear-gradient(145deg,#fff8ce,#ebd08f);box-shadow:inset 0 0 0 2px #fff6cd,0 3px 0 #c3a05e,0 5px 0 #8b6b3c,0 6px 6px #0c272a7a}
.pk22-battle .pk22-keyboard-wrap kbd.pressed{
 transform:translateY(3px);border-bottom-width:1px;border-color:#75c7a8;
 background:linear-gradient(145deg,#c4ffe5,#6ecfad);
 box-shadow:inset 0 0 0 2px #b7fbe0,inset 0 2px 4px #438d7366,0 1px 0 #44816e,0 0 12px #8ef7d6c2;
}
.pk22-battle .pk22-practice-paper{
 border-radius:5px;outline:1px solid #ddc79a;outline-offset:1px;
 background-image:linear-gradient(90deg,#fff8e000 0%,#fff8e0bb 10%,#fff8e033 28%,#fff8e033 72%,#fff8e0bb 90%,#fff8e000 100%),url('/assets/v222/duel-parchment.webp');
 box-shadow:inset 0 4px 5px #fffbed,inset 0 -5px 8px #ba9d5140,inset 0 0 0 4px #ead8ae77,0 3px 0 #a38553,0 6px 0 #63472b,0 10px 12px #142b2b70;
}
.pk22-battle .pk22-practice-paper::before,.pk22-battle .pk22-practice-paper::after{display:none}
.pk222-scroll-rod{
 position:absolute;z-index:2;top:-4px;bottom:-4px;width:16px;border:1px solid #94723e;border-radius:8px;pointer-events:none;
 background:linear-gradient(90deg,#6b4c2a 0%,#c49d55 15%,#ffedaf 40%,#d7b66e 63%,#89652f 100%);
 box-shadow:inset 1px 0 #ffedb1,3px 1px 4px #402d2566;
}
.pk222-scroll-left{left:-6px}.pk222-scroll-right{right:-6px}
.pk222-scroll-rod i{position:absolute;left:-4px;right:-4px;height:11px;border:1px solid #96743a;border-radius:5px;background:linear-gradient(90deg,#8d622a,#f8dea0 37%,#c29548 70%,#7f592a);box-shadow:0 2px 2px #44331c66}
.pk222-scroll-rod i:first-child{top:-4px}.pk222-scroll-rod i:last-child{bottom:-4px}
@media(max-height:680px) and (min-width:721px){
 .pk22-battle .pk22-keyboard-wrap{transform:perspective(1000px) rotateX(16deg)}
 .pk22-battle .pk22-keyboard-wrap kbd{border-bottom-width:2px;box-shadow:inset 0 0 0 1px #fff8e8,0 2px 0 #b18b4c,0 3px 3px #0c272a77}
}
@media(max-width:720px){
 .pk22-battle .pk22-keyboard-wrap{transform:perspective(900px) rotateX(12deg)}
 .pk22-battle .pk22-keyboard-wrap .jade-keyboard{padding-inline:9px}
 .pk22-battle .pk22-practice-paper{padding-inline:23px}
 .pk222-scroll-rod{width:11px}.pk222-scroll-left{left:-3px}.pk222-scroll-right{right:-3px}
}
/* Keep English words together while each character retains its original index. */
.pk22-battle .pk22-target .pk222-word{display:inline-block;white-space:nowrap}
.pk22-battle .pk22-target .pk222-word>span{display:inline-block}
@media(min-width:721px) and (min-height:681px) and (max-height:790px){
 .pk22-battle .pk22-practice-paper{padding-top:8px;padding-bottom:6px}
 .pk22-battle .pk22-target{font-size:28px}
 .pk22-battle .pk22-target-zh{font-size:30px}
 .pk22-battle .pk22-practice-meta{font-size:12px}
 .pk22-battle .pk22-input-status{font-size:11px;min-height:14px;margin-top:3px}
}
/* Final scene/scroll/keyboard balance after the 1366×768 browser review. The
   untransformed board reserves its full height before perspective is applied. */
.pk22-battle{grid-template-rows:minmax(290px,1fr) minmax(406px,49svh)}
.pk22-battle .pk22-battle-stage{background-position:center 35%}
.pk22-battle .pk22-practice-deck{grid-template-rows:minmax(180px,.84fr) minmax(198px,1fr);gap:8px;padding-top:8px;padding-bottom:14px}
@media(min-height:950px){
 .pk22-battle{grid-template-rows:minmax(350px,1fr) 49svh}
 .pk22-battle .pk22-practice-deck{grid-template-rows:218px minmax(0,1fr)}
 .pk22-battle .pk22-practice-paper{padding-top:10px;padding-bottom:7px}
 .pk22-battle .pk22-target{font-size:40px;line-height:1.3;height:2.6em;min-height:2.6em}
 .pk22-battle .pk22-target-zh{font-size:42px}
 .pk22-battle .pk22-practice-meta{font-size:14px;min-height:17px}
 .pk22-battle .pk22-input-row{margin-top:4px}.pk22-battle .pk22-type-input{height:32px;min-height:32px!important;font-size:19px!important}
 .pk22-battle .pk22-input-status{font-size:12px;min-height:16px;margin-top:3px}
}
@media(min-width:721px) and (min-height:681px) and (max-height:790px){
 .pk22-battle{grid-template-rows:minmax(290px,1fr) minmax(370px,calc(75svh - 170px))}
 .pk22-battle .pk22-practice-deck{grid-template-rows:166px minmax(0,1fr)}
 .pk22-battle .pk22-practice-paper{padding-top:7px;padding-bottom:5px}
 .pk22-battle .pk22-target{font-size:28px;line-height:1.3;height:2.6em;min-height:2.6em}
 .pk22-battle .pk22-target-zh{font-size:30px}
 .pk22-battle .pk22-practice-meta{font-size:11px;min-height:14px}
 .pk22-battle .pk22-input-row{margin-top:2px;min-height:29px}.pk22-battle .pk22-type-input{height:29px;min-height:29px!important;font-size:17px!important}
 .pk22-battle .pk22-input-status{margin-top:2px;font-size:11px;min-height:14px}
 .pk22-battle .pk22-actor-slot{height:calc(100% - 86px);bottom:47px}
}
@media(min-width:721px) and (min-height:681px) and (max-height:740px){
 .pk22-battle .pk22-practice-deck{grid-template-rows:154px minmax(0,1fr)}
 .pk22-battle .pk22-target{font-size:26px}.pk22-battle .pk22-target-zh{font-size:28px}
 .pk22-battle .pk22-keyboard-wrap{transform:perspective(1000px) rotateX(16deg)}
 .pk22-battle .pk22-input-row{min-height:27px}.pk22-battle .pk22-type-input{height:27px;min-height:27px!important}
}
@media(max-height:680px) and (min-width:721px){
 .pk22-battle{min-height:0;grid-template-rows:minmax(190px,1fr) 323px}
 .pk22-battle .pk22-practice-deck{grid-template-rows:166px minmax(0,1fr);padding-top:6px;padding-bottom:6px;gap:7px}
 .pk22-battle .pk22-target{font-size:26px;line-height:1.35;height:2.7em;min-height:2.7em}
 .pk22-battle .pk22-target-zh{font-size:28px}
}
@media(max-width:720px){
 .pk22-battle{min-height:700px;grid-template-rows:minmax(270px,1fr) 330px}
 .pk22-battle .pk22-practice-deck{grid-template-rows:172px minmax(0,1fr);padding:7px;gap:7px}
}

/* V22.2 adornment is drawn into the existing character canvas. No CSS filter,
 * full-body glow, extra frame loop, pointer layer or projectile override. */

/* Transparent merchandise is shared by the shop, bag and teacher price list.
   The glow is part of the alpha asset; no rectangular coloured backdrop. */
.item-art222-enchant {
  display:flex;
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  min-width:0;
  min-height:0;
  align-items:center;
  justify-content:center;
  background:none;
  border:0;
  box-shadow:none;
  pointer-events:none;
}
.item-art222-enchant > img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}
.trading-house17 .merch-art17 > .item-art222-enchant {
  padding:4px 7px 0;
  transform-origin:50% 100%;
  transition:transform .18s ease-out,filter .18s ease-out;
}
.trading-house17 .shop-display17:hover .item-art222-enchant,
.trading-house17 .shop-display17.selected .item-art222-enchant {
  transform:translateY(-4px);
  filter:brightness(1.07);
}
.inventory19 .inventory-item-art19 > .item-art222-enchant {
  width:96%;
  height:96%;
}
.teacher-price-art19 > .item-art222-enchant {
  width:94%;
  height:94%;
}
@media(prefers-reduced-motion:reduce) {
  .trading-house17 .merch-art17 > .item-art222-enchant {transition:none;}
}
