

:root {
  --bg: 245 247 250;
  --canvas: 226 231 238;
  --card: 255 255 255;
  --card-alt: 244 245 249;
  --muted: 234 236 240;
  --border: 222 226 230;

  --fg: 20 23 30;
  --muted-fg: 100 116 139;

  --primary: 14 165 233;
  --primary-hover: 12 140 200;
  --accent: 99 102 241;
  --danger: 239 68 68;
  --success: 22 163 74;

  --primary-dim: var(--primary) / .12;
  --accent-dim: var(--accent) / .12;
  --ring: var(--primary) / .25;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, .07), 0 1px 2px rgba(0, 0, 0, .04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, .09), 0 4px 10px rgba(0, 0, 0, .05);

  --radius: .875rem;
  --btn-radius: .5rem;

  --background: var(--bg);
  --foreground: var(--fg);
  --muted-foreground: var(--muted-fg);
}

.dark {
  --bg: 14 17 22;
  --canvas: 6 8 11;
  --card: 26 29 36;
  --card-alt: 19 22 32;
  --muted: 42 47 58;
  --border: 42 47 58;

  --fg: 230 230 230;
  --muted-fg: 156 163 175;

  --primary: 34 211 238;
  --primary-hover: 45 220 250;
  --accent: 129 140 248;
  --danger: 252 100 100;
  --success: 74 222 128;

  --primary-dim: var(--primary) / .1;
  --accent-dim: var(--accent) / .1;
  --ring: var(--primary) / .2;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);
  --shadow-md: 0 4px 24px rgba(0, 0, 0, .6);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);
}

html.hide-ai [data-ai-ui],
html.hide-ai [data-ai-chip],
html.hide-ai [data-image-search],
html.hide-ai .addon-askai-btn,
html.hide-ai .sg-type[data-type="ai"] {
  display: none !important;
}


@font-face {
  font-family: 'Space Grotesk Qwantium';
  src: url('/fonts/SpaceGroteskQu.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Space Grotesk Qwantium';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Space Grotesk Qwantium';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Space Grotesk Qwantium';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'MuseoModerno';
  src: url('/fonts/MuseoModerno.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'MuseoModerno';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'MuseoModerno';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'MuseoModerno';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'MuseoModerno';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Inter';
  src: url('/fonts/Inter-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Inter';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Inter';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Inter';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Inter';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/fonts/WorkSans-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Work Sans';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Syne';
  src: url('/fonts/Syne.ttf?v=3') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Syne';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Syne';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Syne';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Syne';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'BioRhyme';
  src: url('/fonts/BioRhyme.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'BioRhyme';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'BioRhyme';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'BioRhyme';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'BioRhyme';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Asimovian';
  src: url('/fonts/Asimovian.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Asimovian';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Asimovian';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Asimovian';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Asimovian';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('/fonts/BricolageGrotesque.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Modern Antiqua';
  src: url('/fonts/ModernAntiqua-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Modern Antiqua';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Modern Antiqua';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Modern Antiqua';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Modern Antiqua';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/Orbitron.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Orbitron';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Gabriela';
  src: url('/fonts/Gabriela-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Gabriela';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Gabriela';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Gabriela';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Gabriela';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'JosefinSans';
  src: url('/fonts/JosefinSans-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'JosefinSans';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'JosefinSans';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'JosefinSans';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'JosefinSans';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Cascadia_Mono';
  src: url('/fonts/CascadiaMono.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Cascadia_Mono';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Cascadia_Mono';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Cascadia_Mono';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Cascadia_Mono';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('/fonts/ClashDisplay-Regular.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0000-00FF;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('/fonts/ClashDisplay-Bold.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0000-00FF;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'ClashDisplay';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Epilogue';
  src: url('/fonts/Epilogue.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Epilogue';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Epilogue';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Epilogue';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Epilogue';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Orbit';
  src: url('/fonts/Orbit.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Orbit';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Orbit';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Orbit';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Orbit';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/fonts/SpaceMono.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Space Mono';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Agu';
  src: url('/fonts/Agu.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Agu';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Agu';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Agu';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Agu';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/fonts/SpaceGrotesk.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}

@font-face {
  font-family: 'Sora';
  src: url('/fonts/Sora.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Sora';
  src: url('/fonts/fixel.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+0400-04FF, U+0500-052F;
}

@font-face {
  font-family: 'Sora';
  src: url('/fonts/notosansjp.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3040-30FF, U+31F0-31FF, U+FF66-FF9F;
}

@font-face {
  font-family: 'Sora';
  src: url('/fonts/notosanskr.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F;
}

@font-face {
  font-family: 'Sora';
  src: url('/fonts/notosanstc.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  unicode-range: U+3100-312F, U+31A0-31BF, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+20000-2A6DF, U+2F800-2FA1F;
}


:root {
    --sb-size: 8px;
    --sb-thumb: rgba(128, 137, 152, .38);
    --sb-thumb-hover: rgba(128, 137, 152, .62);
}

@media (hover: hover) and (pointer: fine) {
    ::-webkit-scrollbar {
        width: var(--sb-size);
        height: var(--sb-size);
    }

    ::-webkit-scrollbar-track,
    ::-webkit-scrollbar-corner {
        background: transparent;
    }

    ::-webkit-scrollbar-button {
        display: none;
    }

    ::-webkit-scrollbar-thumb {
        background-color: var(--sb-thumb);
        border-radius: 999px;
        border: 1px solid transparent;
        background-clip: padding-box;
    }

    ::-webkit-scrollbar-thumb:hover {
        background-color: var(--sb-thumb-hover);
    }

    ::-webkit-scrollbar-thumb:active {
        background-color: var(--sb-thumb-hover);
    }

    @supports not selector(::-webkit-scrollbar) {
        * {
            scrollbar-width: thin;
            scrollbar-color: var(--sb-thumb) transparent;
        }
    }
}

html {
    -webkit-tap-highlight-color: transparent;
}

*,
*::before,
*::after {
    -webkit-tap-highlight-color: transparent;
}

button,
[role="button"],
.icon-btn,
.search-btn,
.nav-btn,
.dropdown-item,
.type-chip,
.time-btn {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

:root {
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
}

html.meva-app {
    --safe-top: 0px;
    --safe-bottom: 0px;
}

:root {
    --app-header-h: 64px;
    --app-header-x: 2rem;
    --glass-bg: rgb(255 255 255 / .62);
    --glass-border: rgb(15 23 42 / .08);
    --glass-shadow: 0 1px 2px rgb(15 23 42 / .04), 0 8px 24px rgb(15 23 42 / .06);
}

:root {
    --search-bar-bg: rgb(255 255 255);
}

.dark {
    --search-bar-bg: rgb(18 23 31);
    --glass-bg: rgb(22 26 34 / .62);
    --glass-border: rgb(255 255 255 / .08);
    --glass-shadow: 0 1px 2px rgb(0 0 0 / .3), 0 8px 24px rgb(0 0 0 / .25);
}

html:root {
    --topbar-h: var(--app-header-h);
}

@media (max-width: 600px) {
    :root {
        --app-header-x: 1rem;
    }
}

html :is(.header-left, .header-right, .search-logo, .header-actions, .sidebar-brand .logo-small, .topbar-search-link) {
    box-sizing: border-box;
    height: 44px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--glass-shadow);
    -webkit-backdrop-filter: blur(16px) saturate(170%);
    backdrop-filter: blur(16px) saturate(170%);
    border-radius: 999px;
}

html .header {
    position: relative;
    z-index: 60;
    min-height: var(--app-header-h);
    padding: 10px var(--app-header-x);
    box-sizing: border-box;
}

html :is(.header-left, .header-right, .search-logo, .header-actions) {
    position: relative;
    z-index: 60;
}

html .search-header {
    min-height: var(--app-header-h);
    padding: 10px var(--app-header-x);
    box-sizing: border-box;
}

html .header-left {
    padding: 0 .9rem 0 .25rem;
    gap: .35rem;
}

html :is(.header-right, .header-actions) {
    display: flex;
    align-items: center;
    padding: 0 4px;
    gap: 2px;
}

html :is(.header-left, .header-right, .header-actions) .icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border-radius: 999px;
}

html :is(.header-left, .header-right, .header-actions) .icon-btn svg {
    stroke-width: 1.8;
}

html :is(.header-left, .header-right, .header-actions, .topbar) .icon-btn svg {
    width: 18px;
    height: 18px;
}

html :is(.header-left .logo-small, .search-logo, .sidebar-brand .logo-small) {
    display: inline-flex;
    align-items: center;
    gap: 0;
    font-family: var(--title-font, var(--app-font, 'Space Grotesk Qwantium', sans-serif));
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -.3px;
    line-height: 1;
    white-space: nowrap;
}

html .header-left {
    padding: 0 .9rem 0 4px;
    gap: .35rem;
}

html :is(.search-logo, .sidebar-brand .logo-small) {
    padding: 0 .9rem 0 4px;
    gap: .35rem;
}

html :is(.search-logo, .sidebar-brand .logo-small) img {
    box-sizing: content-box;
    width: 18px;
    height: 18px;
    padding: 0 8px;
    margin: 0;
    border-radius: 50%;
}

html .search-header-input {
    height: 44px;
    padding-top: 0;
    padding-bottom: 0;
    background: var(--search-bar-bg);
    border-color: var(--glass-border);
    box-shadow: var(--glass-shadow);
    -webkit-backdrop-filter: blur(16px) saturate(170%);
    backdrop-filter: blur(16px) saturate(170%);
}

html .topbar {
    height: var(--app-header-h);
    display: flex;
    align-items: center;
}

html .topbar-actions {
    flex-shrink: 0;
    margin-right: var(--app-header-x);
}

html :is(.search-header-input, .ssb-input, .asb-input) {
    box-sizing: border-box;
    height: 44px;
    padding-top: 0;
    padding-bottom: 0;
}

html :is(.search-header-input, .search-input, .ssb-input, .asb-input) {
    border-width: 2px;
    border-style: solid;
    border-color: var(--glass-border);
    border-radius: 999px;
    background: var(--search-bar-bg);
    box-shadow: var(--glass-shadow);
}

html .topbar-search-link {
    width: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

html .sidebar-brand {
    height: var(--app-header-h);
    padding: 0 var(--app-header-x);
    align-items: center;
    box-sizing: border-box;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin: 0 4px 0 6px;
    border-radius: 50%;
    cursor: pointer;
    background-color: rgb(var(--muted-fg, 156 163 175));
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 14px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 14px no-repeat;
    opacity: .85;
    transition: background-color .15s, opacity .15s;
}

input[type="search"]::-webkit-search-cancel-button:hover {
    background-color: rgb(var(--fg, 20 23 30));
    opacity: 1;
}
